diff options
author | Oliver Smith <osmith@sysmocom.de> | 2024-02-27 16:04:42 +0100 |
---|---|---|
committer | Oliver Smith <osmith@sysmocom.de> | 2024-02-27 16:04:42 +0100 |
commit | ec357c537716e82a3a6bea275abf1338408858d7 (patch) | |
tree | a11de9631a0c2709e5dcda26120bbfdf9cd06ba9 | |
parent | 768d6d5be90dd18370c1012ef1217de80bc7dea9 (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.c | 4 |
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(); |