• Tom Rix's avatar
    cifs: check pointer before freeing · 77b6ec01
    Tom Rix authored
    clang static analysis reports this problem
    
    dfs_cache.c:591:2: warning: Argument to kfree() is a constant address
      (18446744073709551614), which is not memory allocated by malloc()
            kfree(vi);
            ^~~~~~~~~
    
    In dfs_cache_del_vol() the volume info pointer 'vi' being freed
    is the return of a call to find_vol().  The large constant address
    is find_vol() returning an error.
    
    Add an error check to dfs_cache_del_vol() similar to the one done
    in dfs_cache_update_vol().
    
    Fixes: 54be1f6c ("cifs: Add DFS cache routines")
    Signed-off-by: default avatarTom Rix <trix@redhat.com>
    Reviewed-by: default avatarNathan Chancellor <natechancellor@gmail.com>
    CC: <stable@vger.kernel.org> # v5.0+
    Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
    77b6ec01
dfs_cache.c 34.5 KB