mirror of https://gerrit.osmocom.org/libosmocore
gprs_ns2_frgre: check iph/ip6h before passing them to rx functions
With IPv4 and IPv6 support it's not guaranteed that iph/ip6h is valid. Related CID#214288 Change-Id: If9015906917e3ad11d14b84c29d64f28a3158144
This commit is contained in:
parent
47ed2a6b4a
commit
dc43f7d3c7
|
@ -351,11 +351,17 @@ static struct msgb *read_nsfrgre_msg(struct osmo_fd *bfd, int *error,
|
|||
switch (osmo_ntohs(greh->ptype)) {
|
||||
case GRE_PTYPE_IPv4:
|
||||
/* IPv4 messages might be GRE keepalives */
|
||||
*error = handle_rx_gre_ipv4(bfd, msg, iph, greh);
|
||||
if (iph)
|
||||
*error = handle_rx_gre_ipv4(bfd, msg, iph, greh);
|
||||
else
|
||||
*error = -EIO;
|
||||
goto out_err;
|
||||
break;
|
||||
case GRE_PTYPE_IPv6:
|
||||
*error = handle_rx_gre_ipv6(bfd, msg, ip6h, greh);
|
||||
if (ip6h)
|
||||
*error = handle_rx_gre_ipv6(bfd, msg, ip6h, greh);
|
||||
else
|
||||
*error = -EIO;
|
||||
goto out_err;
|
||||
break;
|
||||
case GRE_PTYPE_FR:
|
||||
|
|
Loading…
Reference in New Issue