Commit 42cfc6b5 authored by Martin Schwidefsky's avatar Martin Schwidefsky

s390/dcssblk: correct out of bounds array indexes

Fix a couple of warnings like this:

[linux-4.2-rc7/drivers/s390/block/dcssblk.c:553]:
   (style) Array index 'j' is used before limits check.
Reported-by: default avatarDavid Binderman <dcb314@hotmail.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 78fb9076
...@@ -548,10 +548,10 @@ dcssblk_add_store(struct device *dev, struct device_attribute *attr, const char ...@@ -548,10 +548,10 @@ dcssblk_add_store(struct device *dev, struct device_attribute *attr, const char
*/ */
num_of_segments = 0; num_of_segments = 0;
for (i = 0; (i < count && (buf[i] != '\0') && (buf[i] != '\n')); i++) { for (i = 0; (i < count && (buf[i] != '\0') && (buf[i] != '\n')); i++) {
for (j = i; (buf[j] != ':') && for (j = i; j < count &&
(buf[j] != ':') &&
(buf[j] != '\0') && (buf[j] != '\0') &&
(buf[j] != '\n') && (buf[j] != '\n'); j++) {
j < count; j++) {
local_buf[j-i] = toupper(buf[j]); local_buf[j-i] = toupper(buf[j]);
} }
local_buf[j-i] = '\0'; local_buf[j-i] = '\0';
...@@ -723,7 +723,7 @@ dcssblk_remove_store(struct device *dev, struct device_attribute *attr, const ch ...@@ -723,7 +723,7 @@ dcssblk_remove_store(struct device *dev, struct device_attribute *attr, const ch
/* /*
* parse input * parse input
*/ */
for (i = 0; ((*(buf+i)!='\0') && (*(buf+i)!='\n') && i < count); i++) { for (i = 0; (i < count && (*(buf+i)!='\0') && (*(buf+i)!='\n')); i++) {
local_buf[i] = toupper(buf[i]); local_buf[i] = toupper(buf[i]);
} }
local_buf[i] = '\0'; local_buf[i] = '\0';
...@@ -904,10 +904,10 @@ dcssblk_check_params(void) ...@@ -904,10 +904,10 @@ dcssblk_check_params(void)
for (i = 0; (i < DCSSBLK_PARM_LEN) && (dcssblk_segments[i] != '\0'); for (i = 0; (i < DCSSBLK_PARM_LEN) && (dcssblk_segments[i] != '\0');
i++) { i++) {
for (j = i; (dcssblk_segments[j] != ',') && for (j = i; (j < DCSSBLK_PARM_LEN) &&
(dcssblk_segments[j] != ',') &&
(dcssblk_segments[j] != '\0') && (dcssblk_segments[j] != '\0') &&
(dcssblk_segments[j] != '(') && (dcssblk_segments[j] != '('); j++)
(j < DCSSBLK_PARM_LEN); j++)
{ {
buf[j-i] = dcssblk_segments[j]; buf[j-i] = dcssblk_segments[j];
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment