From e94e59a3507e4646fdf5897326c2da40c51eb2b9 Mon Sep 17 00:00:00 2001 From: Marek Lindner Date: Tue, 7 May 2013 19:25:02 +0800 Subject: [PATCH] --- yaml --- r: 375523 b: refs/heads/master c: 7da19971a9da9c5e63d259c9a8a566f071dc95d0 h: refs/heads/master i: 375521: 65d4d0707ce55aa5a90ec9f70d3f87805487113b 375519: 9eaffd2e9fefcc9b396a28147515bac9bf122566 v: v3 --- [refs] | 2 +- trunk/net/batman-adv/network-coding.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index f4b252464c17..706d5c7b06dd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 293c9c1cef6be46ad72b528fa79c3ff034551fe0 +refs/heads/master: 7da19971a9da9c5e63d259c9a8a566f071dc95d0 diff --git a/trunk/net/batman-adv/network-coding.c b/trunk/net/batman-adv/network-coding.c index f7c54305a918..e84629ece9b7 100644 --- a/trunk/net/batman-adv/network-coding.c +++ b/trunk/net/batman-adv/network-coding.c @@ -1514,6 +1514,7 @@ batadv_nc_skb_decode_packet(struct batadv_priv *bat_priv, struct sk_buff *skb, struct ethhdr *ethhdr, ethhdr_tmp; uint8_t *orig_dest, ttl, ttvn; unsigned int coding_len; + int err; /* Save headers temporarily */ memcpy(&coded_packet_tmp, skb->data, sizeof(coded_packet_tmp)); @@ -1568,8 +1569,11 @@ batadv_nc_skb_decode_packet(struct batadv_priv *bat_priv, struct sk_buff *skb, coding_len); /* Resize decoded skb if decoded with larger packet */ - if (nc_packet->skb->len > coding_len + h_size) - pskb_trim_rcsum(skb, coding_len + h_size); + if (nc_packet->skb->len > coding_len + h_size) { + err = pskb_trim_rcsum(skb, coding_len + h_size); + if (err) + return NULL; + } /* Create decoded unicast packet */ unicast_packet = (struct batadv_unicast_packet *)skb->data;