aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/efidp
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2018-01-05 07:09:24 +0000
committerWarner Losh <imp@FreeBSD.org>2018-01-05 07:09:24 +0000
commit167b7a41ff171c2593a019eaba84ac5317f3c499 (patch)
tree0edd4c0a8026f06f5127c97ddeaf44d213997243 /usr.sbin/efidp
parent63b56694945562daf61f3692f6deb4f196ee2f87 (diff)
downloadsrc-167b7a41ff171c2593a019eaba84ac5317f3c499.tar.gz
src-167b7a41ff171c2593a019eaba84ac5317f3c499.zip
Notes
Diffstat (limited to 'usr.sbin/efidp')
-rw-r--r--usr.sbin/efidp/efidp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/usr.sbin/efidp/efidp.c b/usr.sbin/efidp/efidp.c
index a4db95abeeac..e12491ecabf5 100644
--- a/usr.sbin/efidp/efidp.c
+++ b/usr.sbin/efidp/efidp.c
@@ -143,10 +143,13 @@ unix_to_efi(void)
char *walker;
int rv;
+ dp = NULL;
while (fgets(buffer, sizeof(buffer), stdin)) {
walker= trim(buffer);
+ free(dp);
+ dp = NULL;
rv = efivar_unix_path_to_device_path(walker, &dp);
- if (rv != 0) {
+ if (rv != 0 || dp == NULL) {
errno = rv;
warn("Can't convert '%s' to efi", walker);
continue;
@@ -158,6 +161,7 @@ unix_to_efi(void)
}
printf("%s\n", efi);
}
+ free(dp);
}
static void