net/af_iucv: drop inbound packets with invalid flags
Inbound packets may have any combination of flag bits set in their iucv header. If we don't know how to handle a specific combination, drop the skb instead of leaking it. To clarify what error is returned in this case, replace the hard-coded 0 with the corresponding macro. Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ee28bb56ac
commit
222440996d
|
@ -2155,8 +2155,8 @@ static int afiucv_hs_rcv(struct sk_buff *skb, struct net_device *dev,
|
|||
struct sock *sk;
|
||||
struct iucv_sock *iucv;
|
||||
struct af_iucv_trans_hdr *trans_hdr;
|
||||
int err = NET_RX_SUCCESS;
|
||||
char nullstring[8];
|
||||
int err = 0;
|
||||
|
||||
if (skb->len < (ETH_HLEN + sizeof(struct af_iucv_trans_hdr))) {
|
||||
WARN_ONCE(1, "AF_IUCV too short skb, len=%d, min=%d",
|
||||
|
@ -2254,7 +2254,7 @@ static int afiucv_hs_rcv(struct sk_buff *skb, struct net_device *dev,
|
|||
err = afiucv_hs_callback_rx(sk, skb);
|
||||
break;
|
||||
default:
|
||||
;
|
||||
kfree_skb(skb);
|
||||
}
|
||||
|
||||
return err;
|
||||
|
|
Loading…
Reference in New Issue