pespin submitted this change.

View Change


Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved
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(-)

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);

To view, visit change 32310. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: Ib9540cc62a61ad7cb26ae90ec1500f1a022bada5
Gerrit-Change-Number: 32310
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged