|
@@ -70,10 +70,10 @@ ip_vs_sip_fill_param(struct ip_vs_conn_param *p, struct sk_buff *skb)
|
|
|
const char *dptr;
|
|
|
int retc;
|
|
|
|
|
|
- ip_vs_fill_iph_skb(p->af, skb, false, &iph);
|
|
|
+ retc = ip_vs_fill_iph_skb(p->af, skb, false, &iph);
|
|
|
|
|
|
/* Only useful with UDP */
|
|
|
- if (iph.protocol != IPPROTO_UDP)
|
|
|
+ if (!retc || iph.protocol != IPPROTO_UDP)
|
|
|
return -EINVAL;
|
|
|
/* todo: IPv6 fragments:
|
|
|
* I think this only should be done for the first fragment. /HS
|