iscsi-scstd: Improve create_and_open_dev() robustness

Reset 'devn' if the sscanf() return value is lower than two.
Based on a Coverity report.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
This commit is contained in:
Bart Van Assche
2015-05-05 10:43:43 +02:00
parent 189e3b9e7e
commit ab78e6ae61

View File

@@ -43,12 +43,9 @@ int create_and_open_dev(const char *dev, int readonly)
}
devn = 0;
while (!feof(f)) {
if (!fgets(buf, sizeof(buf), f))
break;
if (sscanf(buf, "%d %s", &devn, devname) != 2)
continue;
if (!strcmp(devname, dev))
while (fgets(buf, sizeof(buf), f)) {
if (sscanf(buf, "%d %s", &devn, devname) == 2 &&
devn > 0 && strcmp(devname, dev) == 0)
break;
devn = 0;
}