fixup: check for NULL pointers
authorRalph Boehme <slow@samba.org>
Tue, 6 Jan 2015 23:56:16 +0000 (15:56 -0800)
committerJeremy Allison <jra@samba.org>
Wed, 7 Jan 2015 00:32:07 +0000 (01:32 +0100)
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/lib/msghdr.c

index 9ed14449cfef8e1677e918337d622a798e3b6714..82f7ca7cdee18e2be7cfac0f13dd9ea989476f2a 100644 (file)
@@ -40,7 +40,7 @@ ssize_t msghdr_prep_fds(struct msghdr *msg, uint8_t *buf, size_t bufsize,
        if (num_fds > INT8_MAX) {
                return -1;
        }
-       if (cmsg_space > bufsize) {
+       if ((msg == NULL) || (cmsg_space > bufsize)) {
                return cmsg_space;
        }
 
@@ -167,7 +167,7 @@ size_t msghdr_extract_fds(struct msghdr *msg, int *fds, size_t fds_size)
 
        num_fds = (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int);
 
-       if ((num_fds != 0) && (fds_size >= num_fds)) {
+       if ((num_fds != 0) && (fds != NULL) && (fds_size >= num_fds)) {
                memcpy(fds, CMSG_DATA(cmsg), num_fds * sizeof(int));
        }