laforge submitted this change.

View Change

Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved
mgcp-client: Fix wrong value passed to strerror()

errno is positive, hence we need to change the value of "res" being
passed to strerror().
While at it, use thread-safe variant strerror_r().

Change-Id: Ibc278199bc8f66e5521bff72bad150f44716f3eb
---
M src/libosmo-mgcp-client/mgcp_client.c
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c
index bcd1268..e577b34 100644
--- a/src/libosmo-mgcp-client/mgcp_client.c
+++ b/src/libosmo-mgcp-client/mgcp_client.c
@@ -786,8 +786,10 @@
struct mgcp_client *mgcp = osmo_iofd_get_data(iofd);

if (res <= 0) {
+ char errbuf[128] = "";
+ strerror_r(-res, errbuf, sizeof(errbuf));
LOGPMGW(mgcp, LOGL_ERROR, "Failed to read: %s: %d='%s'\n",
- osmo_iofd_get_name(iofd), res, strerror(res));
+ osmo_iofd_get_name(iofd), res, errbuf);

msgb_free(msg);
return;
@@ -822,8 +824,10 @@
struct mgcp_client *mgcp = osmo_iofd_get_data(iofd);

if (OSMO_UNLIKELY(res != msg->len)) {
+ char errbuf[128] = "";
+ strerror_r(-res, errbuf, sizeof(errbuf));
LOGPMGW(mgcp, LOGL_ERROR, "Failed to Tx MGCP: %s: %d='%s'; msg: len=%u '%s'...\n",
- osmo_iofd_get_name(mgcp->iofd), res, strerror(res),
+ osmo_iofd_get_name(mgcp->iofd), res, errbuf,
msg->len, osmo_escape_str((const char *)msg->data, OSMO_MIN(42, msg->len)));
}
}

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

Gerrit-MessageType: merged
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: Ibc278199bc8f66e5521bff72bad150f44716f3eb
Gerrit-Change-Number: 39137
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: osmith <osmith@sysmocom.de>