The branch, master has been updated via 24e28c0 ctdb-mutex: Fix CID 1359217 Resource leak (RESOURCE_LEAK) via c6a7f68 ctdb-daemon: Fix CID 1363067 Resource leak (RESOURCE_LEAK) via 74aca5f ctdb-daemon: Fix CID 1363233 Resource leak (RESOURCE_LEAK) via d46960f ctdb-utils: Fix CID 1297451 Explicit null dereferenced (FORWARD_NULL) via aff33a5 ctdb-common: Consistently use strlcpy() on interface names via 763f9c1 ctdb-common: Fix CID 1125553 Buffer not null terminated (BUFFER_SIZE_WARNING) from 19ed816 ctdb-tests: Stop cross-talk between reclock tests
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 24e28c0aa52399f03acf830a1ad72af0139b0606 Author: Martin Schwenke <mar...@meltin.net> Date: Thu Jul 28 14:04:23 2016 +1000 ctdb-mutex: Fix CID 1359217 Resource leak (RESOURCE_LEAK) Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> Autobuild-User(master): Amitay Isaacs <ami...@samba.org> Autobuild-Date(master): Wed Aug 3 09:13:55 CEST 2016 on sn-devel-144 commit c6a7f680ce74d4a630fa9305d0a926cc1a4b3d2c Author: Martin Schwenke <mar...@meltin.net> Date: Thu Jul 28 12:06:23 2016 +1000 ctdb-daemon: Fix CID 1363067 Resource leak (RESOURCE_LEAK) Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit 74aca5f4c671d9f15ae6c3a901978a1cf247dd6f Author: Martin Schwenke <mar...@meltin.net> Date: Thu Jul 28 12:00:27 2016 +1000 ctdb-daemon: Fix CID 1363233 Resource leak (RESOURCE_LEAK) Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit d46960f20e795cd4abc1c727705f77b2f0e0e564 Author: Martin Schwenke <mar...@meltin.net> Date: Wed Jul 27 17:43:34 2016 +1000 ctdb-utils: Fix CID 1297451 Explicit null dereferenced (FORWARD_NULL) Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit aff33a59479cafcb1f24a07ff76383d47bb196b3 Author: Martin Schwenke <mar...@meltin.net> Date: Mon Aug 1 15:03:56 2016 +1000 ctdb-common: Consistently use strlcpy() on interface names Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> commit 763f9c13f2998a8858e8a3ec013d166a3d429835 Author: Martin Schwenke <mar...@meltin.net> Date: Wed Jul 27 16:22:36 2016 +1000 ctdb-common: Fix CID 1125553 Buffer not null terminated (BUFFER_SIZE_WARNING) Signed-off-by: Martin Schwenke <mar...@meltin.net> Reviewed-by: Amitay Isaacs <ami...@gmail.com> ----------------------------------------------------------------------- Summary of changes: ctdb/common/system_linux.c | 8 ++++---- ctdb/server/ctdb_mutex_fcntl_helper.c | 11 +++++++++-- ctdb/server/ctdb_recover.c | 2 ++ ctdb/utils/ping_pong/ping_pong.c | 4 +++- 4 files changed, 18 insertions(+), 7 deletions(-) Changeset truncated at 500 lines: diff --git a/ctdb/common/system_linux.c b/ctdb/common/system_linux.c index ef78df8..b66ce67 100644 --- a/ctdb/common/system_linux.c +++ b/ctdb/common/system_linux.c @@ -116,7 +116,7 @@ int ctdb_sys_send_arp(const ctdb_sock_addr *addr, const char *iface) } /* get the mac address */ - strncpy(if_hwaddr.ifr_name, iface, sizeof(if_hwaddr.ifr_name)-1); + strlcpy(if_hwaddr.ifr_name, iface, sizeof(if_hwaddr.ifr_name)); ret = ioctl(s, SIOCGIFHWADDR, &if_hwaddr); if ( ret < 0 ) { close(s); @@ -202,7 +202,7 @@ int ctdb_sys_send_arp(const ctdb_sock_addr *addr, const char *iface) } DEBUG(DEBUG_DEBUG, (__location__ " Created SOCKET FD:%d for sending arp\n", s)); - strncpy(ifr.ifr_name, iface, sizeof(ifr.ifr_name)); + strlcpy(ifr.ifr_name, iface, sizeof(ifr.ifr_name)); if (ioctl(s, SIOCGIFINDEX, &ifr) < 0) { DEBUG(DEBUG_CRIT,(__location__ " interface '%s' not found\n", iface)); close(s); @@ -210,7 +210,7 @@ int ctdb_sys_send_arp(const ctdb_sock_addr *addr, const char *iface) } /* get the mac address */ - strncpy(if_hwaddr.ifr_name, iface, sizeof(if_hwaddr.ifr_name)-1); + strlcpy(if_hwaddr.ifr_name, iface, sizeof(if_hwaddr.ifr_name)); ret = ioctl(s, SIOCGIFHWADDR, &if_hwaddr); if ( ret < 0 ) { close(s); @@ -602,7 +602,7 @@ bool ctdb_sys_check_iface_exists(const char *iface) return true; } - strncpy(ifr.ifr_name, iface, sizeof(ifr.ifr_name)-1); + strlcpy(ifr.ifr_name, iface, sizeof(ifr.ifr_name)); if (ioctl(s, SIOCGIFINDEX, &ifr) < 0 && errno == ENODEV) { DEBUG(DEBUG_CRIT,(__location__ " interface '%s' not found\n", iface)); close(s); diff --git a/ctdb/server/ctdb_mutex_fcntl_helper.c b/ctdb/server/ctdb_mutex_fcntl_helper.c index 93c7f62..06c2205 100644 --- a/ctdb/server/ctdb_mutex_fcntl_helper.c +++ b/ctdb/server/ctdb_mutex_fcntl_helper.c @@ -27,7 +27,7 @@ static char *progname = NULL; -static char fcntl_lock(const char *file) +static char fcntl_lock(const char *file, int *outfd) { int fd; struct flock lock; @@ -62,6 +62,8 @@ static char fcntl_lock(const char *file) return '3'; } + *outfd = fd; + return '0'; } @@ -70,6 +72,7 @@ int main(int argc, char *argv[]) char result; int ppid; const char *file = NULL; + int fd = -1; progname = argv[0]; @@ -81,10 +84,14 @@ int main(int argc, char *argv[]) ppid = getppid(); file = argv[1]; - result = fcntl_lock(file); + result = fcntl_lock(file, &fd); sys_write(STDOUT_FILENO, &result, 1); ctdb_wait_for_process_to_exit(ppid); + if (fd != -1) { + close(fd); + } + return 0; } diff --git a/ctdb/server/ctdb_recover.c b/ctdb/server/ctdb_recover.c index 48f822c..6bed61c 100644 --- a/ctdb/server/ctdb_recover.c +++ b/ctdb/server/ctdb_recover.c @@ -1299,6 +1299,7 @@ int32_t ctdb_control_try_delete_records(struct ctdb_context *ctdb, TDB_DATA inda if (data.dsize < sizeof(struct ctdb_ltdb_header)) { DEBUG(DEBUG_CRIT,(__location__ " bad ltdb record in indata\n")); + talloc_free(records); return -1; } @@ -1491,6 +1492,7 @@ int32_t ctdb_control_receive_records(struct ctdb_context *ctdb, if (data.dsize < sizeof(struct ctdb_ltdb_header)) { DEBUG(DEBUG_CRIT, (__location__ " bad ltdb record " "in indata\n")); + talloc_free(records); return -1; } diff --git a/ctdb/utils/ping_pong/ping_pong.c b/ctdb/utils/ping_pong/ping_pong.c index be43a1d..f7f2eb1 100644 --- a/ctdb/utils/ping_pong/ping_pong.c +++ b/ctdb/utils/ping_pong/ping_pong.c @@ -142,7 +142,9 @@ static void ping_pong(int fd, int num_locks) val = (unsigned char *)calloc(num_locks+1, sizeof(unsigned char)); if (val == NULL) { printf("calloc failed\n"); - munmap(p, num_locks+1); + if (use_mmap) { + munmap(p, num_locks+1); + } return; } -- Samba Shared Repository