The branch, master has been updated
       via  470af88 ctdb-tools: Fix heap-use-after-free problem
      from  71cb574 libcli/smb: try to negotiate SMB2_ENCRYPTION_AES128_GCM

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 470af881479d1a1588dc23ef40622b4d8f006b61
Author: Amitay Isaacs <ami...@gmail.com>
Date:   Tue Oct 14 17:52:55 2014 +1100

    ctdb-tools: Fix heap-use-after-free problem
    
    Found by address sanitizer.
    
    Signed-off-by: Amitay Isaacs <ami...@gmail.com>
    Reviewed-by: Martin Schwenke <mar...@meltin.net>
    
    Autobuild-User(master): Martin Schwenke <mart...@samba.org>
    Autobuild-Date(master): Fri Oct 17 12:56:02 CEST 2014 on sn-devel-104

-----------------------------------------------------------------------

Summary of changes:
 ctdb/tools/ctdb.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/ctdb/tools/ctdb.c b/ctdb/tools/ctdb.c
index 71dfc28..c34e33d 100644
--- a/ctdb/tools/ctdb.c
+++ b/ctdb/tools/ctdb.c
@@ -896,6 +896,7 @@ static int find_node_xpnn(void)
        TALLOC_CTX *mem_ctx = talloc_new(NULL);
        struct pnn_node *pnn_nodes;
        struct pnn_node *pnn_node;
+       int pnn;
 
        pnn_nodes = read_nodes_file(mem_ctx);
        if (pnn_nodes == NULL) {
@@ -906,8 +907,9 @@ static int find_node_xpnn(void)
 
        for(pnn_node=pnn_nodes;pnn_node;pnn_node=pnn_node->next) {
                if (ctdb_sys_have_ip(&pnn_node->addr)) {
+                       pnn = pnn_node->pnn;
                        talloc_free(mem_ctx);
-                       return pnn_node->pnn;
+                       return pnn;
                }
        }
 
@@ -1818,6 +1820,7 @@ find_other_host_for_public_ip(struct ctdb_context *ctdb, 
ctdb_sock_addr *addr)
        struct ctdb_all_public_ips *ips;
        struct ctdb_node_map *nodemap=NULL;
        int i, j, ret;
+       int pnn;
 
        ret = ctdb_ctrl_getnodemap(ctdb, TIMELIMIT(), CTDB_CURRENT_NODE, 
tmp_ctx, &nodemap);
        if (ret != 0) {
@@ -1843,8 +1846,9 @@ find_other_host_for_public_ip(struct ctdb_context *ctdb, 
ctdb_sock_addr *addr)
 
                for (j=0;j<ips->num;j++) {
                        if (ctdb_same_ip(addr, &ips->ips[j].addr)) {
+                               pnn = nodemap->nodes[i].pnn;
                                talloc_free(tmp_ctx);
-                               return nodemap->nodes[i].pnn;
+                               return pnn;
                        }
                }
                talloc_free(ips);


-- 
Samba Shared Repository

Reply via email to