summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2020-06-29 10:12:07 +0200
committerAndreas Schneider <asn@samba.org>2021-02-02 10:23:33 +0100
commit00f61edc7363cd17435b559beb04b567200fb38f (patch)
tree982f0d02a292172ddcfb51a02ef8e4c9b3eaf867
parent00650ffb0b913010aab7a004fa2d3eadf2f2f007 (diff)
downloadsocket_wrapper-00f61edc7363cd17435b559beb04b567200fb38f.tar.gz
socket_wrapper-00f61edc7363cd17435b559beb04b567200fb38f.tar.xz
socket_wrapper-00f61edc7363cd17435b559beb04b567200fb38f.zip
swrap: add error checking/cleanup to swrap_sendmsg_filter_cmsghdr()
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Anoop C S <anoopcs@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
-rw-r--r--src/socket_wrapper.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/socket_wrapper.c b/src/socket_wrapper.c
index 8a0e80d..98d9a99 100644
--- a/src/socket_wrapper.c
+++ b/src/socket_wrapper.c
@@ -5026,6 +5026,13 @@ static int swrap_sendmsg_filter_cmsghdr(const struct msghdr *_msg,
cm_data_space);
break;
}
+ if (rc < 0) {
+ int saved_errno = errno;
+ SAFE_FREE(*cm_data);
+ *cm_data_space = 0;
+ errno = saved_errno;
+ return rc;
+ }
}
return rc;