From 797d533072c37f5aff0db3b019f636ea4e6b701a Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 1 Dec 2019 13:38:35 +0100 Subject: gprs_ns_instantiate(): propagate errors from gprs_sns_init() to caller Change-Id: I71f347a2f0376716e5f83d33a7931eb8a99aad77 --- src/gb/gprs_ns.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index c77ebb37..ac39e4a6 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -1884,13 +1884,18 @@ static bool gprs_sns_fsm_registered = false; */ struct gprs_ns_inst *gprs_ns_instantiate(gprs_ns_cb_t *cb, void *ctx) { - struct gprs_ns_inst *nsi = talloc_zero(ctx, struct gprs_ns_inst); + struct gprs_ns_inst *nsi; if (!gprs_sns_fsm_registered) { - gprs_sns_init(); + int rc = gprs_sns_init(); + if (rc < 0) + return NULL; gprs_sns_fsm_registered = true; } + nsi = talloc_zero(ctx, struct gprs_ns_inst); + if (!nsi) + return NULL; nsi->cb = cb; INIT_LLIST_HEAD(&nsi->gprs_nsvcs); nsi->timeout[NS_TOUT_TNS_BLOCK] = 3; -- cgit v1.2.3