From: Thomas Weißschuh Date: Tue, 12 Sep 2023 22:09:39 +0000 (+0200) Subject: fdisk: remove usage of VLA X-Git-Tag: v2.40-rc1~246^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0e58ad78350a61c88f4b97389a8f83f24ae11d11;p=thirdparty%2Futil-linux.git fdisk: remove usage of VLA Variable-length-arrays are susceptible to security issues, avoid them. Signed-off-by: Thomas Weißschuh --- diff --git a/disk-utils/fdisk-list.c b/disk-utils/fdisk-list.c index 21d215e584..a1b6a844d4 100644 --- a/disk-utils/fdisk-list.c +++ b/disk-utils/fdisk-list.c @@ -469,21 +469,24 @@ void list_available_columns(FILE *out) static int fieldname_to_id(const char *name, size_t namesz) { const struct fdisk_field *fl; - char buf[namesz + 1]; + char *buf; assert(name); assert(namesz); assert(fields_label); - memcpy(buf, name, namesz); - buf[namesz] = '\0'; + buf = strndup(name, namesz); + if (!buf) + return -1; fl = fdisk_label_get_field_by_name(fields_label, buf); if (!fl) { warnx(_("%s unknown column: %s"), fdisk_label_get_name(fields_label), buf); + free(buf); return -1; } + free(buf); return fdisk_field_get_id(fl); }