From ba12716882059491c6a0923cc061165988df590b Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Mon, 24 Jul 2017 14:10:42 +0200 Subject: safer osmo_sccp_make_addr_pc_ssn(): clear all values Make sure that all values of the resulting sccp_addr are cleared to obtain a clean PC+SSN address. Before this, gt and ip remained unset/random, e.g. in osmo_sccp_tx_unitdata_ranap() Change-Id: I37395169d364050e45e99793c495a9848a4f8601 --- src/sccp_helpers.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/sccp_helpers.c b/src/sccp_helpers.c index 1e83c8c..4b24392 100644 --- a/src/sccp_helpers.c +++ b/src/sccp_helpers.c @@ -38,10 +38,12 @@ static struct msgb *scu_msgb_alloc(const char *name) void osmo_sccp_make_addr_pc_ssn(struct osmo_sccp_addr *addr, uint32_t pc, uint32_t ssn) { - addr->presence = OSMO_SCCP_ADDR_T_SSN | OSMO_SCCP_ADDR_T_PC; - addr->ri = OSMO_SCCP_RI_SSN_PC; - addr->ssn = ssn; - addr->pc = pc; + *addr = (struct osmo_sccp_addr){ + .presence = OSMO_SCCP_ADDR_T_SSN | OSMO_SCCP_ADDR_T_PC, + .ri = OSMO_SCCP_RI_SSN_PC, + .ssn = ssn, + .pc = pc, + }; } void osmo_sccp_addr_set_ssn(struct osmo_sccp_addr *addr, uint32_t ssn) -- cgit v1.2.3