laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/libosmo-sccp/+/33642 )

Change subject: M3UA/SUA: Don't add empty routing context IE in DUNA/DAVA/DUPU
......................................................................

M3UA/SUA: Don't add empty routing context IE in DUNA/DAVA/DUPU

Before this patch, the code generating a DUNA or DAVA message would
potentially generate a ROUTE_CTX IE with zero-length content, rather
than skipping such an IE altogether if no routing context[s] are given.

Change-Id: I19d0382cd2d428a91ac716182b9d86dcdc2c2ebd
Related: SYS#6511
---
M src/m3ua.c
M src/sua.c
2 files changed, 20 insertions(+), 6 deletions(-)

Approvals:
  pespin: Looks good to me, approved
  Jenkins Builder: Verified




diff --git a/src/m3ua.c b/src/m3ua.c
index 8d82522..85ac974 100644
--- a/src/m3ua.c
+++ b/src/m3ua.c
@@ -778,7 +778,7 @@

        xua->hdr = XUA_HDR(M3UA_MSGC_SNM, M3UA_SNM_DUNA);
        xua->hdr.version = M3UA_VERSION;
-       if (rctx)
+       if (rctx && num_rctx)
                xua_msg_add_data(xua, M3UA_IEI_ROUTE_CTX, num_rctx * 
sizeof(*rctx), (const uint8_t *)rctx);

        xua_msg_add_data(xua, M3UA_IEI_AFFECTED_PC, num_aff_pc * 
sizeof(*aff_pc), (const uint8_t *) aff_pc);
@@ -827,7 +827,7 @@

        xua->hdr = XUA_HDR(M3UA_MSGC_SNM, M3UA_SNM_DUPU);
        xua->hdr.version = M3UA_VERSION;
-       if (rctx)
+       if (rctx && num_rctx)
                xua_msg_add_data(xua, M3UA_IEI_ROUTE_CTX, num_rctx * 
sizeof(*rctx), (const uint8_t *)rctx);

        xua_msg_add_u32(xua, M3UA_IEI_AFFECTED_PC, dpc);
@@ -882,7 +882,7 @@

        xua->hdr = XUA_HDR(M3UA_MSGC_SNM, M3UA_SNM_SCON);
        xua->hdr.version = M3UA_VERSION;
-       if (rctx)
+       if (rctx && num_rctx)
                xua_msg_add_data(xua, M3UA_IEI_ROUTE_CTX, num_rctx * 
sizeof(*rctx), (const uint8_t *)rctx);

        xua_msg_add_data(xua, M3UA_IEI_AFFECTED_PC, num_aff_pc * 
sizeof(*aff_pc), (const uint8_t *) aff_pc);
diff --git a/src/sua.c b/src/sua.c
index a20d751..de69ab3 100644
--- a/src/sua.c
+++ b/src/sua.c
@@ -783,7 +783,7 @@

        xua->hdr = XUA_HDR(SUA_MSGC_SNM, SUA_SNM_DUNA);
        xua->hdr.version = SUA_VERSION;
-       if (rctx)
+       if (rctx && num_rctx)
                xua_msg_add_data(xua, SUA_IEI_ROUTE_CTX, num_rctx * 4, (const 
uint8_t *)rctx);

        xua_msg_add_data(xua, SUA_IEI_AFFECTED_PC, num_aff_pc * 4, (const 
uint8_t *) aff_pc);
@@ -838,7 +838,7 @@

        xua->hdr = XUA_HDR(SUA_MSGC_SNM, SUA_SNM_DUNA);
        xua->hdr.version = SUA_VERSION;
-       if (rctx)
+       if (rctx && num_rctx)
                xua_msg_add_data(xua, SUA_IEI_ROUTE_CTX, num_rctx * 
sizeof(*rctx), (const uint8_t *)rctx);

        xua_msg_add_u32(xua, SUA_IEI_AFFECTED_PC, dpc);
@@ -893,7 +893,7 @@

        xua->hdr = XUA_HDR(SUA_MSGC_SNM, SUA_SNM_SCON);
        xua->hdr.version = SUA_VERSION;
-       if (rctx)
+       if (rctx && num_rctx)
                xua_msg_add_data(xua, SUA_IEI_ROUTE_CTX, num_rctx * 
sizeof(*rctx), (const uint8_t *)rctx);
        xua_msg_add_data(xua, SUA_IEI_AFFECTED_PC, num_aff_pc * 
sizeof(*aff_pc), (const uint8_t *) aff_pc);
        if (ssn)

--
To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/33642
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Change-Id: I19d0382cd2d428a91ac716182b9d86dcdc2c2ebd
Gerrit-Change-Number: 33642
Gerrit-PatchSet: 3
Gerrit-Owner: laforge <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: iedemam <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to