CVSROOT:        /cvs/cluster
Module name:    cluster
Changes by:     [EMAIL PROTECTED]       2008-01-02 09:27:12

Modified files:
        cman/daemon    : commands.c 

Log message:
        totempg_ifaces_get() always copies INTERFACE_MAX addresses
        so make sure we alloate enough space for them all.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/daemon/commands.c.diff?cvsroot=cluster&r1=1.77&r2=1.78

--- cluster/cman/daemon/commands.c      2007/12/05 14:28:58     1.77
+++ cluster/cman/daemon/commands.c      2008/01/02 09:27:12     1.78
@@ -345,7 +345,8 @@
        int addrlen=0;
        unsigned int numaddrs=1;
        char **status;
-       struct totem_ip_address node_ifs[num_interfaces];
+       struct totem_ip_address node_ifs[INTERFACE_MAX];
+       /* totempg_ifaces_get always copies INTERFACE_MAX addresses */
 
        strcpy(unode->name, node->name);
        unode->jointime = node->join_time;
@@ -361,7 +362,6 @@
           must ask for them */
        totempg_ifaces_get(node->node_id, node_ifs, &status, &numaddrs);
 
-
        totemip_totemip_to_sockaddr_convert(&node_ifs[0], 0, &ss, &addrlen);
        memcpy(unode->addr, &ss, addrlen);
        unode->addrlen = addrlen;
@@ -1173,7 +1173,7 @@
        int i;
        char *outbuf = *retbuf + offset;
        struct cl_get_node_addrs *addrs = (struct cl_get_node_addrs *)outbuf;
-       struct totem_ip_address node_ifs[num_interfaces];
+       struct totem_ip_address node_ifs[INTERFACE_MAX]; /* totempg_ifaces_get 
always copies INTERFACE_MAX addresses */
        struct cluster_node *node;
        char **status;
 

Reply via email to