From 92d49ecfaabcd015cf9957a0863996eaa5755747 Mon Sep 17 00:00:00 2001 From: Adam Kwolek Date: Tue, 7 Feb 2012 15:03:03 +0100 Subject: [PATCH 01/12] FIX: NULL pointer to strdup() can be passed When result from strchr() is NULL and it is assigned to subarray, NULL pointer can be passed to strdup() function and coredump file is generated. Subarray is checked for NULL pointer, so it is assumed that it can be NULL at this moment. Signed-off-by: Adam Kwolek Signed-off-by: NeilBrown --- util.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/util.c b/util.c index e5f7a20..7abbff7 100644 --- a/util.c +++ b/util.c @@ -966,9 +966,10 @@ struct supertype *super_by_fd(int fd, char **subarrayp) char *dev = verstr+1; subarray = strchr(dev, '/'); - if (subarray) + if (subarray) { *subarray++ = '\0'; - subarray = strdup(subarray); + subarray = strdup(subarray); + } container = devname2devnum(dev); if (sra) sysfs_free(sra); -- 1.7.4.4