[PATCH 2/6] socket: propagate sendto/recvmsg's return types

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



sendto/recvfrom return ssize_t, so libmnl should not truncate the
result range.

Signed-off-by: Jan Engelhardt <jengelh@xxxxxxxxxx>
---
 include/libmnl/libmnl.h |    4 ++--
 src/socket.c            |    8 +++++---
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/include/libmnl/libmnl.h b/include/libmnl/libmnl.h
index c58635f..01ae484 100644
--- a/include/libmnl/libmnl.h
+++ b/include/libmnl/libmnl.h
@@ -36,8 +36,8 @@ MNL_API int mnl_socket_bind(struct mnl_socket *nl, unsigned int groups, pid_t pi
 MNL_API int mnl_socket_close(struct mnl_socket *nl);
 MNL_API int mnl_socket_get_fd(const struct mnl_socket *nl);
 MNL_API unsigned int mnl_socket_get_portid(const struct mnl_socket *nl);
-MNL_API int mnl_socket_sendto(const struct mnl_socket *nl, const void *req, size_t siz);
-MNL_API int mnl_socket_recvfrom(const struct mnl_socket *nl, void *buf, size_t siz);
+MNL_API ssize_t mnl_socket_sendto(const struct mnl_socket *nl, const void *req, size_t siz);
+MNL_API ssize_t mnl_socket_recvfrom(const struct mnl_socket *nl, void *buf, size_t siz);
 MNL_API int mnl_socket_setsockopt(const struct mnl_socket *nl, int type, void *buf, socklen_t len);
 MNL_API int mnl_socket_getsockopt(const struct mnl_socket *nl, int type, void *buf, socklen_t *len);
 
diff --git a/src/socket.c b/src/socket.c
index cc997df..9b102e7 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -169,7 +169,8 @@ int mnl_socket_bind(struct mnl_socket *nl, unsigned int groups, pid_t pid)
  * On error, it returns -1 and errno is appropriately set. Otherwise, it 
  * returns the number of bytes sent.
  */
-int mnl_socket_sendto(const struct mnl_socket *nl, const void *buf, size_t len)
+ssize_t mnl_socket_sendto(const struct mnl_socket *nl, const void *buf,
+			  size_t len)
 {
 	static const struct sockaddr_nl snl = {
 		.nl_family = AF_NETLINK
@@ -192,9 +193,10 @@ int mnl_socket_sendto(const struct mnl_socket *nl, const void *buf, size_t len)
  * buffer size ensures that your buffer is big enough to store the netlink
  * message without truncating it.
  */
-int mnl_socket_recvfrom(const struct mnl_socket *nl, void *buf, size_t bufsiz)
+ssize_t mnl_socket_recvfrom(const struct mnl_socket *nl, void *buf,
+			    size_t bufsiz)
 {
-	int ret;
+	ssize_t ret;
 	struct sockaddr_nl addr;
 	struct iovec iov = {
 		.iov_base	= buf,
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux