lkml.org 
[lkml]   [2012]   [Oct]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/5] efivarfs: efivarfs_file_read ensure we free data in error paths
    Date
    Signed-off-by: Andy Whitcroft <apw@canonical.com>
    ---
    drivers/firmware/efivars.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    diff --git a/drivers/firmware/efivars.c b/drivers/firmware/efivars.c
    index 4b12a8fd..ae50d2f 100644
    --- a/drivers/firmware/efivars.c
    +++ b/drivers/firmware/efivars.c
    @@ -766,7 +766,7 @@ static ssize_t efivarfs_file_read(struct file *file, char __user *userbuf,
    unsigned long datasize = 0;
    u32 attributes;
    void *data;
    - ssize_t size;
    + ssize_t size = 0;

    status = efivars->ops->get_variable(var->var.VariableName,
    &var->var.VendorGuid,
    @@ -784,13 +784,13 @@ static ssize_t efivarfs_file_read(struct file *file, char __user *userbuf,
    &var->var.VendorGuid,
    &attributes, &datasize,
    (data + 4));
    -
    if (status != EFI_SUCCESS)
    - return 0;
    + goto out_free;

    memcpy(data, &attributes, 4);
    size = simple_read_from_buffer(userbuf, count, ppos,
    data, datasize + 4);
    +out_free:
    kfree(data);

    return size;
    --
    1.7.9.5


    \
     
     \ /
      Last update: 2012-10-11 13:21    [W:4.028 / U:0.116 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site