[NET]: Fix uninitialised variable in ip_frag_reasm()
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 <dhowells@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
13996378e6
commit
45542479fb
@ -486,7 +486,6 @@ static int ip_frag_reasm(struct ipq *qp, struct sk_buff *prev,
|
|||||||
if (prev) {
|
if (prev) {
|
||||||
head = prev->next;
|
head = prev->next;
|
||||||
fp = skb_clone(head, GFP_ATOMIC);
|
fp = skb_clone(head, GFP_ATOMIC);
|
||||||
|
|
||||||
if (!fp)
|
if (!fp)
|
||||||
goto out_nomem;
|
goto out_nomem;
|
||||||
|
|
||||||
@ -512,7 +511,6 @@ static int ip_frag_reasm(struct ipq *qp, struct sk_buff *prev,
|
|||||||
goto out_oversize;
|
goto out_oversize;
|
||||||
|
|
||||||
/* Head of list must not be cloned. */
|
/* Head of list must not be cloned. */
|
||||||
err = -ENOMEM;
|
|
||||||
if (skb_cloned(head) && pskb_expand_head(head, 0, 0, GFP_ATOMIC))
|
if (skb_cloned(head) && pskb_expand_head(head, 0, 0, GFP_ATOMIC))
|
||||||
goto out_nomem;
|
goto out_nomem;
|
||||||
|
|
||||||
@ -568,6 +566,7 @@ static int ip_frag_reasm(struct ipq *qp, struct sk_buff *prev,
|
|||||||
out_nomem:
|
out_nomem:
|
||||||
LIMIT_NETDEBUG(KERN_ERR "IP: queue_glue: no memory for gluing "
|
LIMIT_NETDEBUG(KERN_ERR "IP: queue_glue: no memory for gluing "
|
||||||
"queue %p\n", qp);
|
"queue %p\n", qp);
|
||||||
|
err = -ENOMEM;
|
||||||
goto out_fail;
|
goto out_fail;
|
||||||
out_oversize:
|
out_oversize:
|
||||||
if (net_ratelimit())
|
if (net_ratelimit())
|
||||||
|
Loading…
Reference in New Issue
Block a user