[S] Change in osmo-ggsn[master]: gtp_new(): use talloc instead of calloc/free
lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/38930?usp=email ) Change subject: gtp_new(): use talloc instead of calloc/free ...................................................................... gtp_new(): use talloc instead of calloc/free Required for SGSN Context Req fsm which is using talloc. Change-Id: I7c4a29c4bb1ef3c7bf506e59e99b3a804cabe34b --- M gtp/gsn.c M gtp/gsn_internal.h 2 files changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/30/38930/1 diff --git a/gtp/gsn.c b/gtp/gsn.c index 612baf2..b620279 100644 --- a/gtp/gsn.c +++ b/gtp/gsn.c @@ -116,6 +116,8 @@ {} }; +void *tall_gsn_ctx; + /* API Functions */ @@ -466,7 +468,7 @@ { LOGP(DLGTP, LOGL_NOTICE, "GTP: gtp_newgsn() started at %s\n", inet_ntoa(*listen)); - *gsn = calloc(sizeof(struct gsn_t), 1); /* TODO */ + *gsn = talloc_zero(tall_gsn_ctx, struct gsn_t); (*gsn)->statedir = statedir; log_restart(*gsn); @@ -551,7 +553,7 @@ rate_ctr_group_free(gsn->ctrg); - free(gsn); + talloc_free(gsn); return 0; } @@ -584,3 +586,8 @@ /* dummy API, deprecated. Return a huge timer to do nothing */ return 0; } + +static __attribute__((constructor)) void gtp_talloc_init(void) +{ + tall_gsn_ctx = talloc_named_const(NULL, 0, "libgtp"); +} diff --git a/gtp/gsn_internal.h b/gtp/gsn_internal.h index deb60c3..860d37b 100644 --- a/gtp/gsn_internal.h +++ b/gtp/gsn_internal.h @@ -1,3 +1,5 @@ #pragma once +extern void *tall_gsn_ctx; + void gtp_queue_timer_start(struct gsn_t *gsn); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/38930?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I7c4a29c4bb1ef3c7bf506e59e99b3a804cabe34b Gerrit-Change-Number: 38930 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus <lynxis@fe80.eu>
participants (1)
-
lynxis lazus