pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/32310 )
Change subject: sndcp: Allocate snme->comp.{data,proto} during snme alloc ......................................................................
sndcp: Allocate snme->comp.{data,proto} during snme alloc
This way we guarantee the llist object is always available even before an XID.req is received (which may not be the case in NET mode).
Change-Id: Ib9540cc62a61ad7cb26ae90ec1500f1a022bada5 --- M src/sndcp/sndcp.c 1 file changed, 17 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/10/32310/1
diff --git a/src/sndcp/sndcp.c b/src/sndcp/sndcp.c index ff38b1c..6041ecd 100644 --- a/src/sndcp/sndcp.c +++ b/src/sndcp/sndcp.c @@ -53,6 +53,9 @@ return NULL;
snme->tlli = tlli; + snme->comp.proto = gprs_sndcp_comp_alloc(snme); + snme->comp.data = gprs_sndcp_comp_alloc(snme); + llist_add(&snme->list, &g_sndcp_ctx->snme_list);
return snme; @@ -698,8 +701,8 @@ * get rid of possible leftovers from a previous session */ gprs_sndcp_comp_free(sne->snme->comp.proto); gprs_sndcp_comp_free(sne->snme->comp.data); - sne->snme->comp.proto = gprs_sndcp_comp_alloc(sne); - sne->snme->comp.data = gprs_sndcp_comp_alloc(sne); + sne->snme->comp.proto = gprs_sndcp_comp_alloc(sne->snme); + sne->snme->comp.data = gprs_sndcp_comp_alloc(sne->snme);
/* Generate compression parameter bytestream */ sne->l3xid_req_len = gprs_sndcp_sne_gen_sndcp_xid(sne, l3params, sizeof(l3params), sndcp_prim);