aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Jones <thj@freebsd.org>2024-02-07 13:31:50 +0000
committerOle Tr�an <otroan@employees.org>2024-03-26 15:09:29 +0000
commitb10561bbecb2870360a731b4696bff920150720d (patch)
treeef0ba3f555c959133b8f63fb035a525f276f7dc7
parentdfd426c2c83f69e95fe8dab5b4827825230f1d7c (diff)
papi: Use CMSG_SPACE for sizing ancillary buffer space
CMSG_LEN provides the length required to store an ancillary item, but it does not consider padding. RFC 3542 requires portable applications to use CMSG_SPACE(), this is documented in the python API: https://docs.python.org/3/library/socket.html#socket.CMSG_LEN Type: improvement Change-Id: I0eab470585f2f39bea38639db95d6b0e047d2cff Signed-off-by: Tom Jones <thj@freebsd.org>
-rwxr-xr-xsrc/vpp-api/python/vpp_papi/vpp_stats.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vpp-api/python/vpp_papi/vpp_stats.py b/src/vpp-api/python/vpp_papi/vpp_stats.py
index 4a342b68a8f..8cbe737db92 100755
--- a/src/vpp-api/python/vpp_papi/vpp_stats.py
+++ b/src/vpp-api/python/vpp_papi/vpp_stats.py
@@ -54,7 +54,7 @@ import re
def recv_fd(sock):
"""Get file descriptor for memory map"""
fds = array.array("i") # Array of ints
- _, ancdata, _, _ = sock.recvmsg(0, socket.CMSG_LEN(4))
+ _, ancdata, _, _ = sock.recvmsg(0, socket.CMSG_SPACE(4))
for cmsg_level, cmsg_type, cmsg_data in ancdata:
if cmsg_level == socket.SOL_SOCKET and cmsg_type == socket.SCM_RIGHTS:
fds.frombytes(cmsg_data[: len(cmsg_data) - (len(cmsg_data) % fds.itemsize)])