X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fefivars.c;h=000dae9de0fd0f389823d7339ea638b8165c45f6;hb=815ebc540daf5cede58570bbeb0a4106e201c52e;hp=1d5b6f9e72f722f092c8adb8c1c2e533fcb52647;hpb=c51d84dc09476d9c06b8aac726220bf3c7d62e8d;p=elogind.git diff --git a/src/shared/efivars.c b/src/shared/efivars.c index 1d5b6f9e7..000dae9de 100644 --- a/src/shared/efivars.c +++ b/src/shared/efivars.c @@ -37,7 +37,7 @@ bool is_efi_boot(void) { static int read_flag(const char *varname) { int r; - void *v; + _cleanup_free_ void *v = NULL; size_t s; uint8_t b; @@ -45,15 +45,11 @@ static int read_flag(const char *varname) { if (r < 0) return r; - if (s != 1) { - r = -EINVAL; - goto finish; - } + if (s != 1) + return -EINVAL; b = *(uint8_t *)v; r = b > 0; -finish: - free(v); return r; } @@ -384,7 +380,7 @@ int efi_get_boot_options(uint16_t **options) { list[count ++] = id; } - qsort(list, count, sizeof(uint16_t), cmp_uint16); + qsort_safe(list, count, sizeof(uint16_t), cmp_uint16); *options = list; return count;