lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.17 305/772] selftests/resctrl: Fix null pointer dereference on open failed
    Date
    From: Colin Ian King <colin.i.king@gmail.com>

    [ Upstream commit c7b607fa9325ccc94982774c505176677117689c ]

    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>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    tools/testing/selftests/resctrl/fill_buf.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/tools/testing/selftests/resctrl/fill_buf.c b/tools/testing/selftests/resctrl/fill_buf.c
    index 51e5cf22632f..56ccbeae0638 100644
    --- a/tools/testing/selftests/resctrl/fill_buf.c
    +++ b/tools/testing/selftests/resctrl/fill_buf.c
    @@ -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);

    --
    2.35.1


    \
     
     \ /
      Last update: 2022-06-07 23:03    [W:4.046 / U:1.364 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site