[PATCH 01/12] FIX: NULL pointer to strdup() can be passed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <adam.kwolek@xxxxxxxxx>
---

 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);

--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux