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
diff --git a/src/gb/gprs_ns2_frgre.c b/src/gb/gprs_ns2_frgre.c
index f163704..177aeb2 100644
--- a/src/gb/gprs_ns2_frgre.c
+++ b/src/gb/gprs_ns2_frgre.c
@@ -351,11 +351,17 @@
 	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: