------------------------------------------------------------
revno: 461
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Andrew Tridgell <[EMAIL PROTECTED]>
branch nick: tridge
timestamp: Mon 2007-06-04 22:28:52 +1000
message:
  don't crash doing ctdb ip when not doing takeover
modified:
  takeover/ctdb_takeover.c       
ctdb_takeover.c-20070525071636-a5n1ihghjtppy08r-2
=== modified file 'takeover/ctdb_takeover.c'
--- a/takeover/ctdb_takeover.c  2007-06-04 12:13:59 +0000
+++ b/takeover/ctdb_takeover.c  2007-06-04 12:28:52 +0000
@@ -692,7 +692,7 @@
 
 
 /*
-  
+  get list of public IPs
  */
 int32_t ctdb_control_get_public_ips(struct ctdb_context *ctdb, struct 
ctdb_req_control *c, TDB_DATA *outdata)
 {
@@ -701,7 +701,7 @@
 
        len = offsetof(struct ctdb_all_public_ips, ips) + 
ctdb->num_nodes*sizeof(struct ctdb_public_ip);
 
-       ips = talloc_size(outdata, len);
+       ips = talloc_zero_size(outdata, len);
        CTDB_NO_MEMORY(ctdb, ips);
 
        outdata->dsize = len;
@@ -712,7 +712,9 @@
                ips->ips[i].vnn = i;
                ips->ips[i].takeover_vnn = ctdb->nodes[i]->takeover_vnn;
                ips->ips[i].sin.sin_family = AF_INET;
-               inet_aton(ctdb->nodes[i]->public_address, 
&ips->ips[i].sin.sin_addr);
+               if (ctdb->nodes[i]->public_address) {
+                       inet_aton(ctdb->nodes[i]->public_address, 
&ips->ips[i].sin.sin_addr);
+               }
        }
 
        return 0;

Reply via email to