Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 54e35cc5 authored by Daniel Borkmann's avatar Daniel Borkmann Committed by Simon Horman
Browse files

ipvs: ip_vs_sh: ip_vs_sh_get_port: check skb_header_pointer for NULL



skb_header_pointer could return NULL, so check for it as we do it
everywhere else in ipvs code. This fixes a coverity warning.

Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
Acked-by: default avatarJulian Anastasov <ja@ssi.bg>
Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
parent 70e3ca79
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -269,14 +269,20 @@ ip_vs_sh_get_port(const struct sk_buff *skb, struct ip_vs_iphdr *iph)
	switch (iph->protocol) {
	case IPPROTO_TCP:
		th = skb_header_pointer(skb, iph->len, sizeof(_tcph), &_tcph);
		if (unlikely(th == NULL))
			return 0;
		port = th->source;
		break;
	case IPPROTO_UDP:
		uh = skb_header_pointer(skb, iph->len, sizeof(_udph), &_udph);
		if (unlikely(uh == NULL))
			return 0;
		port = uh->source;
		break;
	case IPPROTO_SCTP:
		sh = skb_header_pointer(skb, iph->len, sizeof(_sctph), &_sctph);
		if (unlikely(sh == NULL))
			return 0;
		port = sh->source;
		break;
	default: