Change in libosmocore[master]: socket: add define for socket name length

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

dexter gerrit-no-reply at lists.osmocom.org
Fri Jan 18 08:20:26 UTC 2019


dexter has submitted this change and it was merged. ( https://gerrit.osmocom.org/12554 )

Change subject: socket: add define for socket name length
......................................................................

socket: add define for socket name length

The function osmo_sock_get_name_buf() can be used to write a string
representation to a user provided memory. Unfortunately the proper
length for the user provided memory is not obvious. To make using
osmo_sock_get_name_buf() more practical, add a define constant that
defines the length of the required memory. Also use this define in
socket.c.

Change-Id: If8be8c2c0d4935da17ab13b2c2127b719ceefbcc
---
M include/osmocom/core/socket.h
M src/socket.c
2 files changed, 4 insertions(+), 4 deletions(-)

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



diff --git a/include/osmocom/core/socket.h b/include/osmocom/core/socket.h
index 43604ec..c183532 100644
--- a/include/osmocom/core/socket.h
+++ b/include/osmocom/core/socket.h
@@ -28,6 +28,8 @@
 #define OSMO_SOCK_F_NO_MCAST_ALL  (1 << 4)
 /*! use SO_REUSEADDR on UDP ports (required for multicast) */
 #define OSMO_SOCK_F_UDP_REUSEADDR (1 << 5)
+/*! maximum length of a socket name ("r=1.2.3.4:123<->l=5.6.7.8:987") */
+#define OSMO_SOCK_NAME_MAXLEN (2 + INET6_ADDRSTRLEN + 1 + 5 + 3 + 2 + INET6_ADDRSTRLEN + 1 + 5 + 1)
 
 int osmo_sock_init(uint16_t family, uint16_t type, uint8_t proto,
 		   const char *host, uint16_t port, unsigned int flags);
diff --git a/src/socket.c b/src/socket.c
index 4f3b1ca..37fd584 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -783,8 +783,7 @@
  */
 char *osmo_sock_get_name(void *ctx, int fd)
 {
-	/* "r=1.2.3.4:123<->l=5.6.7.8:987" */
-	char str[2 + INET6_ADDRSTRLEN + 1 + 5 + 3 + 2 + INET6_ADDRSTRLEN + 1 + 5 + 1];
+	char str[OSMO_SOCK_NAME_MAXLEN];
 	int rc;
 	rc = osmo_sock_get_name_buf(str, sizeof(str), fd);
 	if (rc <= 0)
@@ -823,8 +822,7 @@
  */
 const char *osmo_sock_get_name2(int fd)
 {
-	/* "r=1.2.3.4:123<->l=5.6.7.8:987" */
-	static char str[2 + INET6_ADDRSTRLEN + 1 + 5 + 3 + 2 + INET6_ADDRSTRLEN + 1 + 5 + 1];
+	static char str[OSMO_SOCK_NAME_MAXLEN];
 	osmo_sock_get_name_buf(str, sizeof(str), fd);
 	return str;
 }

-- 
To view, visit https://gerrit.osmocom.org/12554
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: If8be8c2c0d4935da17ab13b2c2127b719ceefbcc
Gerrit-Change-Number: 12554
Gerrit-PatchSet: 3
Gerrit-Owner: dexter <pmaier at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder (1000002)
Gerrit-Reviewer: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: dexter <pmaier at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190118/ef50a738/attachment.htm>


More information about the gerrit-log mailing list