The Samba-Bugzilla – Attachment 10664 Details for
Bug 10849
source3/lib/unix_msg/unix_msg.c and source3/modules/vfs_aio_fork.c compiling errors on Solaris platform
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for v4-2-test
tmp42.diff.txt (text/plain), 3.13 KB, created by
Stefan Metzmacher
on 2015-01-26 13:03:21 UTC
(
hide
)
Description:
Patch for v4-2-test
Filename:
MIME Type:
Creator:
Stefan Metzmacher
Created:
2015-01-26 13:03:21 UTC
Size:
3.13 KB
patch
obsolete
>From 32bea38259e76c881ee3aeb067d8de7b2180439b Mon Sep 17 00:00:00 2001 >From: Jeremy Allison <jra@samba.org> >Date: Fri, 3 Oct 2014 09:24:04 -0700 >Subject: [PATCH] s3: lib, s3: modules: Fix compilation on Solaris. > >Based on work from YOUZHONG YANG <youzhong@gmail.com>. >Code needs fixing when HAVE_STRUCT_MSGHDR_MSG_CONTROL is >not defined. Also Solaris doesn't have msg_flags field >(which we set to zero anyway, so if we initialize >the entire struct to zero, we never need to refer to it). > >https://bugzilla.samba.org/show_bug.cgi?id=10849 > >Signed-off-by: Jeremy Allison <jra@samba.org> >Reviewed-by: Andreas Schneider <asn@samba.org> > >Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> >Autobuild-Date(master): Mon Oct 6 12:33:36 CEST 2014 on sn-devel-104 > >(cherry picked from commit 57bcb8055eb3e15c4ce7bcdeeef7efed175ed347) >--- > source3/lib/unix_msg/unix_msg.c | 19 ++++++++++--------- > source3/modules/vfs_aio_fork.c | 5 ++++- > 2 files changed, 14 insertions(+), 10 deletions(-) > >diff --git a/source3/lib/unix_msg/unix_msg.c b/source3/lib/unix_msg/unix_msg.c >index 4870068..00ac7f5 100644 >--- a/source3/lib/unix_msg/unix_msg.c >+++ b/source3/lib/unix_msg/unix_msg.c >@@ -477,7 +477,7 @@ static int queue_msg(struct unix_dgram_send_queue *q, > struct unix_dgram_msg *msg; > ssize_t data_len; > uint8_t *data_buf; >- size_t msglen; >+ size_t msglen = sizeof(struct unix_dgram_msg); > int i; > size_t tmp; > int ret = -1; >@@ -487,6 +487,13 @@ static int queue_msg(struct unix_dgram_send_queue *q, > size_t cmsg_len = CMSG_LEN(fds_size); > size_t cmsg_space = CMSG_SPACE(fds_size); > char *cmsg_buf; >+ >+ /* >+ * Note: No need to check for overflow here, >+ * since cmsg will store <= INT8_MAX fds. >+ */ >+ msglen += cmsg_space; >+ > #endif /* HAVE_STRUCT_MSGHDR_MSG_CONTROL */ > > if (num_fds > INT8_MAX) { >@@ -499,14 +506,6 @@ static int queue_msg(struct unix_dgram_send_queue *q, > } > #endif > >- msglen = sizeof(struct unix_dgram_msg); >- >- /* >- * Note: No need to check for overflow here, >- * since cmsg will store <= INT8_MAX fds. >- */ >- msglen += cmsg_space; >- > data_len = iov_buflen(iov, iovlen); > if (data_len == -1) { > return EINVAL; >@@ -593,7 +592,9 @@ static int queue_msg(struct unix_dgram_send_queue *q, > return 0; > > fail: >+#ifdef HAVE_STRUCT_MSGHDR_MSG_CONTROL > close_fd_array(fds_copy, num_fds); >+#endif > return ret; > } > >diff --git a/source3/modules/vfs_aio_fork.c b/source3/modules/vfs_aio_fork.c >index c1bded9..12e6f80 100644 >--- a/source3/modules/vfs_aio_fork.c >+++ b/source3/modules/vfs_aio_fork.c >@@ -157,6 +157,7 @@ static ssize_t read_fd(int fd, void *ptr, size_t nbytes, int *recvfd) > #ifndef HAVE_STRUCT_MSGHDR_MSG_CONTROL > int newfd; > >+ ZERO_STRUCT(msg); > msg.msg_accrights = (caddr_t) &newfd; > msg.msg_accrightslen = sizeof(int); > #else >@@ -167,13 +168,15 @@ static ssize_t read_fd(int fd, void *ptr, size_t nbytes, int *recvfd) > } control_un; > struct cmsghdr *cmptr; > >+ ZERO_STRUCT(msg); >+ ZERO_STRUCT(control_un); >+ > msg.msg_control = control_un.control; > msg.msg_controllen = sizeof(control_un.control); > #endif > > msg.msg_name = NULL; > msg.msg_namelen = 0; >- msg.msg_flags = 0; > > iov[0].iov_base = (void *)ptr; > iov[0].iov_len = nbytes; >-- >1.9.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
jra
:
review+
Actions:
View
Attachments on
bug 10849
:
10323
| 10664