Fix uninitialised variable in ip_frag_reasm().  err should be set to -ENOMEM
if the initial call of skb_clone() fails.

Signed-off-by: David Howells <[EMAIL PROTECTED]>
---

 net/ipv4/ip_fragment.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c
index 443b3f8..4629dad 100644
--- a/net/ipv4/ip_fragment.c
+++ b/net/ipv4/ip_fragment.c
@@ -545,7 +545,6 @@ static int ip_frag_reasm(struct ipq *qp, struct sk_buff 
*prev,
        if (prev) {
                head = prev->next;
                fp = skb_clone(head, GFP_ATOMIC);
-
                if (!fp)
                        goto out_nomem;
 
@@ -571,7 +570,6 @@ static int ip_frag_reasm(struct ipq *qp, struct sk_buff 
*prev,
                goto out_oversize;
 
        /* Head of list must not be cloned. */
-       err = -ENOMEM;
        if (skb_cloned(head) && pskb_expand_head(head, 0, 0, GFP_ATOMIC))
                goto out_nomem;
 
@@ -627,6 +625,7 @@ static int ip_frag_reasm(struct ipq *qp, struct sk_buff 
*prev,
 out_nomem:
        LIMIT_NETDEBUG(KERN_ERR "IP: queue_glue: no memory for gluing "
                              "queue %p\n", qp);
+       err = -ENOMEM;
        goto out_fail;
 out_oversize:
        if (net_ratelimit())

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to