1
0
mirror of git://git.git.savannah.gnu.org/grub.git synced 2026-09-01 02:34:49 +00:00

osdep/linux/getroot: Add missing strdup() failure checks

If strdup() fails, it returns NULL and passing NULL further down to
the code can lead to segmentation fault or an undefined behavior.

Signed-off-by: Avnish Chouhan <avnish@linux.ibm.com>
Reviewed-by: Sudhakar Kuppusamy <sudhakar@linux.ibm.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
Avnish Chouhan
2025-11-10 20:27:22 +05:30
committed by Daniel Kiper
parent f8c48cbedc
commit 72b4c99376
+10
View File
@@ -991,6 +991,8 @@ grub_util_get_raid_grub_dev (const char *os_dev)
char *p, *q;
p = strdup (os_dev + sizeof ("/dev/md_d") - 1);
if (p == NULL)
return NULL;
q = strchr (p, 'p');
if (q)
@@ -1006,6 +1008,8 @@ grub_util_get_raid_grub_dev (const char *os_dev)
char *p, *q;
p = strdup (os_dev + sizeof ("/dev/md/d") - 1);
if (p == NULL)
return NULL;
q = strchr (p, 'p');
if (q)
@@ -1019,6 +1023,8 @@ grub_util_get_raid_grub_dev (const char *os_dev)
char *p , *q;
p = strdup (os_dev + sizeof ("/dev/md") - 1);
if (p == NULL)
return NULL;
q = strchr (p, 'p');
if (q)
@@ -1032,6 +1038,8 @@ grub_util_get_raid_grub_dev (const char *os_dev)
char *p , *q;
p = strdup (os_dev + sizeof ("/dev/md/") - 1);
if (p == NULL)
return NULL;
q = strchr (p, 'p');
if (q)
@@ -1046,6 +1054,8 @@ grub_util_get_raid_grub_dev (const char *os_dev)
char *p , *q;
p = strdup (os_dev + sizeof ("/dev/md/") - 1);
if (p == NULL)
return NULL;
q = strchr (p, 'p');
if (q)