Harald Welte has submitted this change and it was merged. ( 
https://gerrit.osmocom.org/13960 )

Change subject: osmo_sock_get_name_*: Ensure string is returned in error case
......................................................................

osmo_sock_get_name_*: Ensure string is returned in error case

osmo_sock_get_name_buf():
In case the getsockname() call is failing for some weird reason,
we shouldn't return an uninitialized, non-zero-terminated string
buffer to the caller, as most callers will be too lazy to test the
return value.

This holds even more true for users of the internal
osmo_sock_get_name2() and osmo_sock_get_name2_c() functions which indeed
very much ignore the return value of osmo_sock_get_name_buf().

Change-Id: I2d56327e96b7a6783cca38b828c5ee74aed776ae
---
M src/socket.c
1 file changed, 3 insertions(+), 1 deletion(-)

Approvals:
  Jenkins Builder: Verified
  Harald Welte: Looks good to me, approved



diff --git a/src/socket.c b/src/socket.c
index 7c412b6..614ad36 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -805,8 +805,10 @@
        int rc;

        /* get local */
-       if ((rc = osmo_sock_get_ip_and_port(fd, hostbuf_l, sizeof(hostbuf_l), 
portbuf_l, sizeof(portbuf_l), true)))
+       if ((rc = osmo_sock_get_ip_and_port(fd, hostbuf_l, sizeof(hostbuf_l), 
portbuf_l, sizeof(portbuf_l), true))) {
+               osmo_strlcpy(str, "<error-in-getsockname>", str_len);
                return rc;
+       }

        /* get remote */
        if (osmo_sock_get_ip_and_port(fd, hostbuf_r, sizeof(hostbuf_r), 
portbuf_r, sizeof(portbuf_r), false) != 0)

--
To view, visit https://gerrit.osmocom.org/13960
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I2d56327e96b7a6783cca38b828c5ee74aed776ae
Gerrit-Change-Number: 13960
Gerrit-PatchSet: 3
Gerrit-Owner: Harald Welte <[email protected]>
Gerrit-Reviewer: Harald Welte <[email protected]>
Gerrit-Reviewer: Jenkins Builder (1000002)
Gerrit-CC: Mykola Shchetinin <[email protected]>

Reply via email to