summaryrefslogtreecommitdiffstats
path: root/super-intel.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2009-01-20 01:33:56 -0700
committerDan Williams <dan.j.williams@intel.com>2009-01-20 01:33:56 -0700
commit03cd4cc810fdaea1613fa6a792564aa96451f447 (patch)
treebd630dfeba07bd69e8dcdcd6fb7152188abc8ea3 /super-intel.c
parentbe2c0e387b88c801a5b5f07d7f447a4dba97100e (diff)
downloadmdadm-03cd4cc810fdaea1613fa6a792564aa96451f447.tar.gz
mdadm-03cd4cc810fdaea1613fa6a792564aa96451f447.tar.xz
mdadm-03cd4cc810fdaea1613fa6a792564aa96451f447.zip
imsm: imsm_read_serial check for zero-length response
VMWare virtual disks successfully run the inquiry but return a zero response. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'super-intel.c')
-rw-r--r--super-intel.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/super-intel.c b/super-intel.c
index 4eaca9d..ce9a5c1 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -1415,6 +1415,13 @@ static int imsm_read_serial(int fd, char *devname,
/* trim leading whitespace */
rsp_len = scsi_serial[3];
+ if (!rsp_len) {
+ if (devname)
+ fprintf(stderr,
+ Name ": Failed to retrieve serial for %s\n",
+ devname);
+ return 2;
+ }
rsp_buf = (char *) &scsi_serial[4];
c = rsp_buf;
while (isspace(*c))