From ec357c537716e82a3a6bea275abf1338408858d7 Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Tue, 27 Feb 2024 16:04:42 +0100 Subject: lib/gtp-kernel.c: check rc of in46a_from_eua Fixes: b17fe7bf ("kernel-gtp: support IPv6 on inner layer") Change-Id: I40e4de1517de8871224a45c173208810b42312ff --- lib/gtp-kernel.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/gtp-kernel.c b/lib/gtp-kernel.c index 3ad8424..6a14d78 100644 --- a/lib/gtp-kernel.c +++ b/lib/gtp-kernel.c @@ -115,6 +115,8 @@ int gtp_kernel_tunnel_add(struct pdp_t *pdp, const char *devname) in46a_from_gsna(&pdp->gsnrc, &sgsn); ms_addr_count = in46a_from_eua(&pdp->eua, ms); + if (ms_addr_count < 0) + return -1; for (int i = 0; i < ms_addr_count; i++) { t = gtp_tunnel_alloc(); @@ -169,6 +171,8 @@ int gtp_kernel_tunnel_del(struct pdp_t *pdp, const char *devname) pdp_debug(__func__, devname, pdp); ms_addr_count = in46a_from_eua(&pdp->eua, ms); + if (ms_addr_count < 0) + return -1; for (int i = 0; i < ms_addr_count; i++) { t = gtp_tunnel_alloc(); -- cgit v1.2.3