pespin has uploaded this change for review.

View Change

sccp: sccp_addr_to_str_buf(): Use osmo_ss7_pointcode_print_buf()

During logging, the logging macro may already be using the static buffer
API to log context about a related PC. Hence, calling it here may
overwrite it.
Instead, use osmo_ss7_pointcode_print_buf(). It specially makes sense in
this API which is already a _buf() API, where the user precisely expects
no use of static buffers.

Change-Id: Ib54984e755dca16d5be4d3d5dac82faa38e83c79
---
M src/sccp_helpers.c
1 file changed, 2 insertions(+), 1 deletion(-)

git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/06/40306/1
diff --git a/src/sccp_helpers.c b/src/sccp_helpers.c
index 6643e4e..39099fd 100644
--- a/src/sccp_helpers.c
+++ b/src/sccp_helpers.c
@@ -355,11 +355,12 @@
{
struct osmo_strbuf sb = { .buf = buf, .len = buf_len };
char ipbuf[INET6_ADDRSTRLEN];
+ char buf_pc[MAX_PC_STR_LEN];

OSMO_STRBUF_PRINTF(sb, "RI=%s", osmo_sccp_routing_ind_name(addr->ri));

if (addr->presence & OSMO_SCCP_ADDR_T_PC)
- OSMO_STRBUF_PRINTF(sb, "%cPC=%s", sep_char, osmo_ss7_pointcode_print(ss7, addr->pc));
+ OSMO_STRBUF_PRINTF(sb, "%cPC=%s", sep_char, osmo_ss7_pointcode_print_buf(buf_pc, sizeof(buf_pc), ss7, addr->pc));
if (addr->presence & OSMO_SCCP_ADDR_T_SSN)
OSMO_STRBUF_PRINTF(sb, "%cSSN=%s", sep_char, osmo_sccp_ssn_name(addr->ssn));
if (addr->presence & OSMO_SCCP_ADDR_T_IPv4)

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

Gerrit-MessageType: newchange
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: Ib54984e755dca16d5be4d3d5dac82faa38e83c79
Gerrit-Change-Number: 40306
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin@sysmocom.de>