lkml.org 
[lkml]   [2020]   [Jun]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.7 426/477] selinux: fix double free
    Date
    From: Tom Rix <trix@redhat.com>

    commit 65de50969a77509452ae590e9449b70a22b923bb upstream.

    Clang's static analysis tool reports these double free memory errors.

    security/selinux/ss/services.c:2987:4: warning: Attempt to free released memory [unix.Malloc]
    kfree(bnames[i]);
    ^~~~~~~~~~~~~~~~
    security/selinux/ss/services.c:2990:2: warning: Attempt to free released memory [unix.Malloc]
    kfree(bvalues);
    ^~~~~~~~~~~~~~

    So improve the security_get_bools error handling by freeing these variables
    and setting their return pointers to NULL and the return len to 0

    Cc: stable@vger.kernel.org
    Signed-off-by: Tom Rix <trix@redhat.com>
    Acked-by: Stephen Smalley <stephen.smalley.work@gmail.com>
    Signed-off-by: Paul Moore <paul@paul-moore.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    security/selinux/ss/services.c | 4 ++++
    1 file changed, 4 insertions(+)

    --- a/security/selinux/ss/services.c
    +++ b/security/selinux/ss/services.c
    @@ -2923,8 +2923,12 @@ err:
    if (*names) {
    for (i = 0; i < *len; i++)
    kfree((*names)[i]);
    + kfree(*names);
    }
    kfree(*values);
    + *len = 0;
    + *names = NULL;
    + *values = NULL;
    goto out;
    }


    \
     
     \ /
      Last update: 2020-06-23 22:19    [W:3.707 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site