aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2024-02-27 16:04:42 +0100
committerOliver Smith <osmith@sysmocom.de>2024-02-27 16:04:42 +0100
commitec357c537716e82a3a6bea275abf1338408858d7 (patch)
treea11de9631a0c2709e5dcda26120bbfdf9cd06ba9
parent768d6d5be90dd18370c1012ef1217de80bc7dea9 (diff)
lib/gtp-kernel.c: check rc of in46a_from_eua
Fixes: b17fe7bf ("kernel-gtp: support IPv6 on inner layer") Change-Id: I40e4de1517de8871224a45c173208810b42312ff
-rw-r--r--lib/gtp-kernel.c4
1 files changed, 4 insertions, 0 deletions
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();