diff options
author | Tom Jones <thj@freebsd.org> | 2024-02-07 13:31:50 +0000 |
---|---|---|
committer | Ole Tr�an <otroan@employees.org> | 2024-03-26 15:09:29 +0000 |
commit | b10561bbecb2870360a731b4696bff920150720d (patch) | |
tree | ef0ba3f555c959133b8f63fb035a525f276f7dc7 | |
parent | dfd426c2c83f69e95fe8dab5b4827825230f1d7c (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-x | src/vpp-api/python/vpp_papi/vpp_stats.py | 2 |
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)]) |