utils: get_cmdline_val: add missing error check
authorDaniel Golle <daniel@makrotopia.org>
Sat, 30 Mar 2024 13:07:29 +0000 (13:07 +0000)
committerDaniel Golle <daniel@makrotopia.org>
Mon, 1 Jul 2024 17:13:59 +0000 (18:13 +0100)
Add check to prevent read() in case open() has failed.

Coverity CID: 1595922: Error handling issues  (NEGATIVE_RETURNS)
Fixes: 6f52ef3 ("get_cmdline_val: search for entire name, not just suffix")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
utils/utils.c

index e5b1297e6388831edeb00049311272a74b654507..aa37c86ef4c127c8bc394b2a14ba602862355aea 100644 (file)
@@ -167,7 +167,12 @@ char *get_cmdline_val_offset(const char *name, char *out, int len, int offset)
 {
        char line[CMDLINE_SIZE + 1], *c, *sptr;
        int i, fd = open("/proc/cmdline", O_RDONLY);
-       ssize_t r = read(fd, line, sizeof(line) - 1);
+       ssize_t r;
+
+       if (fd < 0)
+               return NULL;
+
+       r = read(fd, line, sizeof(line) - 1);
        close(fd);
 
        if (r <= 0)