]> git.baikalelectronics.ru Git - kernel.git/commitdiff
selftests/resctrl: Fix null pointer dereference on open failed
authorColin Ian King <colin.i.king@gmail.com>
Tue, 26 Apr 2022 12:25:31 +0000 (13:25 +0100)
committerShuah Khan <skhan@linuxfoundation.org>
Tue, 26 Apr 2022 15:20:00 +0000 (09:20 -0600)
Currently if opening /dev/null fails to open then file pointer fp
is null and further access to fp via fprintf will cause a null
pointer dereference. Fix this by returning a negative error value
when a null fp is detected.

Detected using cppcheck static analysis:
tools/testing/selftests/resctrl/fill_buf.c:124:6: note: Assuming
that condition '!fp' is not redundant
 if (!fp)
     ^
tools/testing/selftests/resctrl/fill_buf.c:126:10: note: Null
pointer dereference
 fprintf(fp, "Sum: %d ", ret);

Fixes: a2561b12fe39 ("selftests/resctrl: Add built in benchmark")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/resctrl/fill_buf.c

index 51e5cf22632f7aa2d9f559d07c7b75ed39d20e68..56ccbeae0638d57fda0e99d4eaa70ae6b742e370 100644 (file)
@@ -121,8 +121,10 @@ static int fill_cache_read(unsigned char *start_ptr, unsigned char *end_ptr,
 
        /* Consume read result so that reading memory is not optimized out. */
        fp = fopen("/dev/null", "w");
-       if (!fp)
+       if (!fp) {
                perror("Unable to write to /dev/null");
+               return -1;
+       }
        fprintf(fp, "Sum: %d ", ret);
        fclose(fp);