lkml.org 
[lkml]   [2008]   [Jul]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 40/47] drivers/char/pcmcia/ipwireless/hardware.c fix resource leak
    2.6.25-stable review patch.  If anyone has any objections, please let us
    know.

    ------------------
    From: Darren Jenkins <darrenrjenkins@gmail.com>

    commit 43f77e91eadbc290eb76a08110a039c809dde6c9 upstream

    Coverity CID: 2172 RESOURCE_LEAK

    When pool_allocate() tries to enlarge a packet, if it can not allocate enough
    memory, it returns NULL without first freeing the old packet.

    This patch just frees the packet first.

    Signed-off-by: Darren Jenkins <darrenrjenkins@gmail.com>
    Acked-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/char/pcmcia/ipwireless/hardware.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    --- a/drivers/char/pcmcia/ipwireless/hardware.c
    +++ b/drivers/char/pcmcia/ipwireless/hardware.c
    @@ -616,8 +616,10 @@ static struct ipw_rx_packet *pool_alloca
    packet = kmalloc(sizeof(struct ipw_rx_packet) +
    old_packet->length + minimum_free_space,
    GFP_ATOMIC);
    - if (!packet)
    + if (!packet) {
    + kfree(old_packet);
    return NULL;
    + }
    memcpy(packet, old_packet,
    sizeof(struct ipw_rx_packet)
    + old_packet->length);
    --


    \
     
     \ /
      Last update: 2008-07-23 01:35    [W:0.023 / U:29.692 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site