]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
util/grub-mount: Check file path sanity
authorQiumiao Zhang <zhangqiumiao1@huawei.com>
Wed, 25 Oct 2023 03:54:57 +0000 (11:54 +0800)
committerDaniel Kiper <daniel.kiper@oracle.com>
Mon, 30 Oct 2023 17:33:06 +0000 (18:33 +0100)
The function argp_parser() in util/grub-mount.c lacks a check on the
sanity of the file path when parsing parameters. This results in
a segmentation fault if a partition is mounted to a non-existent path.

Signed-off-by: Qiumiao Zhang <zhangqiumiao1@huawei.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
util/grub-mount.c

index c69889df9d7726d60967a863345c1ad6175e2cdd..bf4c8b891be5c20b909e0c58aec043430a1a30b6 100644 (file)
@@ -563,6 +563,8 @@ argp_parser (int key, char *arg, struct argp_state *state)
 
   images = xrealloc (images, (num_disks + 1) * sizeof (images[0]));
   images[num_disks] = grub_canonicalize_file_name (arg);
+  if (images[num_disks] == NULL)
+    grub_util_error (_("cannot find `%s': %s"), arg, strerror (errno));
   num_disks++;
 
   return 0;