Skip to content

Commit 336c218

Browse files
Mirsad Todorovacmiquelraynal
authored andcommitted
mtd: slram: insert break after errors in parsing the map
GCC 12.3.0 compiler on linux-next next-20240709 tree found the execution path in which, due to lazy evaluation, devlength isn't initialised with the parsed string: 289 while (map) { 290 devname = devstart = devlength = NULL; 291 292 if (!(devname = strsep(&map, ","))) { 293 E("slram: No devicename specified.\n"); 294 break; 295 } 296 T("slram: devname = %s\n", devname); 297 if ((!map) || (!(devstart = strsep(&map, ",")))) { 298 E("slram: No devicestart specified.\n"); 299 } 300 T("slram: devstart = %s\n", devstart); → 301 if ((!map) || (!(devlength = strsep(&map, ",")))) { 302 E("slram: No devicelength / -end specified.\n"); 303 } → 304 T("slram: devlength = %s\n", devlength); 305 if (parse_cmdline(devname, devstart, devlength) != 0) { 306 return(-EINVAL); 307 } Parsing should be finished after map == NULL, so a break is best inserted after each E("slram: ... \n") error message. Fixes: 1da177e ("Linux-2.6.12-rc2") Cc: Miquel Raynal <[email protected]> Cc: Richard Weinberger <[email protected]> Cc: Vignesh Raghavendra <[email protected]> Cc: [email protected] Signed-off-by: Mirsad Todorovac <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
1 parent 8400291 commit 336c218

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

drivers/mtd/devices/slram.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,10 +296,12 @@ static int __init init_slram(void)
296296
T("slram: devname = %s\n", devname);
297297
if ((!map) || (!(devstart = strsep(&map, ",")))) {
298298
E("slram: No devicestart specified.\n");
299+
break;
299300
}
300301
T("slram: devstart = %s\n", devstart);
301302
if ((!map) || (!(devlength = strsep(&map, ",")))) {
302303
E("slram: No devicelength / -end specified.\n");
304+
break;
303305
}
304306
T("slram: devlength = %s\n", devlength);
305307
if (parse_cmdline(devname, devstart, devlength) != 0) {

0 commit comments

Comments
 (0)