From: Jeremy Allison Date: Fri, 23 Sep 2016 19:12:43 +0000 (-0700) Subject: s3: nmbd: Ensure attrs array mirrors fd's array for dns. X-Git-Tag: samba-4.3.12~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0918f181c5a333cfa29fd485f60045109d3d2f81;p=thirdparty%2Fsamba.git s3: nmbd: Ensure attrs array mirrors fd's array for dns. This will allow us to eventually remove source3/lib/events.c dependency and make nmbd purely tevent based. Bug: https://bugzilla.samba.org/show_bug.cgi?id=12283 Signed-off-by: Jeremy Allison Reviewed-by: Volker Lendecke (cherry picked from commit 7f0717e751930cd5da029c1852ff9f61f95e40b7) --- diff --git a/source3/nmbd/nmbd_packets.c b/source3/nmbd/nmbd_packets.c index ddbc2a0efdc..1b59d6bcdf4 100644 --- a/source3/nmbd/nmbd_packets.c +++ b/source3/nmbd/nmbd_packets.c @@ -1919,8 +1919,23 @@ bool listen_for_packets(struct messaging_context *msg, bool run_election) if (fds == NULL) { return true; } + attrs = talloc_realloc(NULL, + attrs, + struct socket_attributes, + num_sockets + 1); + if (attrs == NULL) { + TALLOC_FREE(fds); + return true; + } dns_pollidx = num_sockets; fds[num_sockets].fd = dns_fd; + attrs[dns_pollidx].fd = dns_fd; + /* + * dummy values, we only need + * fd and triggered. + */ + attrs[dns_pollidx].type = NMB_PACKET; + attrs[dns_pollidx].broadcast = false; num_sockets += 1; } #endif