lkml.org 
[lkml]   [2003]   [Feb]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [CHECKER] 112 potential memory leaks in 2.5.48
    On Tue, 4 Feb 2003, Andy Chou wrote:

    > [BUG] /u1/acc/linux/2.5.48/net/ipv6/route.c:1583:inet6_rtm_getroute:
    > ERROR:LEAK:1556:1583:Memory leak

    Here's the ipv6 fix.


    - James
    --
    James Morris
    <jmorris@intercode.com.au>

    diff -urN -X dontdiff linux-2.5.59.orig/net/ipv6/route.c linux-2.5.59.w1/net/ipv6/route.c
    --- linux-2.5.59.orig/net/ipv6/route.c Tue Nov 12 00:12:07 2002
    +++ linux-2.5.59.w1/net/ipv6/route.c Wed Feb 5 23:00:17 2003
    @@ -1548,14 +1548,14 @@
    {
    struct rtattr **rta = arg;
    int iif = 0;
    - int err;
    + int err = -ENOBUFS;
    struct sk_buff *skb;
    struct flowi fl;
    struct rt6_info *rt;

    skb = alloc_skb(NLMSG_GOODSIZE, GFP_KERNEL);
    if (skb == NULL)
    - return -ENOBUFS;
    + goto out;

    /* Reserve room for dummy headers, this skb can pass
    through good chunk of routing engine.
    @@ -1579,8 +1579,10 @@
    if (iif) {
    struct net_device *dev;
    dev = __dev_get_by_index(iif);
    - if (!dev)
    - return -ENODEV;
    + if (!dev) {
    + err = -ENODEV;
    + goto out_free;
    + }
    }

    fl.oif = 0;
    @@ -1597,13 +1599,19 @@
    fl.nl_u.ip6_u.saddr,
    iif,
    RTM_NEWROUTE, NETLINK_CB(in_skb).pid, nlh->nlmsg_seq);
    - if (err < 0)
    - return -EMSGSIZE;
    + if (err < 0) {
    + err = -EMSGSIZE;
    + goto out_free;
    + }

    err = netlink_unicast(rtnl, skb, NETLINK_CB(in_skb).pid, MSG_DONTWAIT);
    - if (err < 0)
    - return err;
    - return 0;
    + if (err > 0)
    + err = 0;
    +out:
    + return err;
    +out_free:
    + kfree_skb(skb);
    + goto out;
    }

    void inet6_rt_notify(int event, struct rt6_info *rt)

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:32    [W:0.023 / U:31.012 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site