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>
char *p, *q;
p = strdup (os_dev + sizeof ("/dev/md_d") - 1);
+ if (p == NULL)
+ return NULL;
q = strchr (p, 'p');
if (q)
char *p, *q;
p = strdup (os_dev + sizeof ("/dev/md/d") - 1);
+ if (p == NULL)
+ return NULL;
q = strchr (p, 'p');
if (q)
char *p , *q;
p = strdup (os_dev + sizeof ("/dev/md") - 1);
+ if (p == NULL)
+ return NULL;
q = strchr (p, 'p');
if (q)
char *p , *q;
p = strdup (os_dev + sizeof ("/dev/md/") - 1);
+ if (p == NULL)
+ return NULL;
q = strchr (p, 'p');
if (q)
char *p , *q;
p = strdup (os_dev + sizeof ("/dev/md/") - 1);
+ if (p == NULL)
+ return NULL;
q = strchr (p, 'p');
if (q)