[Spread-cvs] commit: r513 - branches/reconfig_groups_crash_bugfix/daemon

jschultz at spread.org jschultz at spread.org
Wed May 2 14:32:53 EDT 2012


Author: jschultz
Date: 2012-05-02 14:32:53 -0400 (Wed, 02 May 2012)
New Revision: 513

Modified:
   branches/reconfig_groups_crash_bugfix/daemon/groups.c
Log:
Change to make string comparison more safe in groups.c


Modified: branches/reconfig_groups_crash_bugfix/daemon/groups.c
===================================================================
--- branches/reconfig_groups_crash_bugfix/daemon/groups.c	2012-04-20 03:27:46 UTC (rev 512)
+++ branches/reconfig_groups_crash_bugfix/daemon/groups.c	2012-05-02 18:32:53 UTC (rev 513)
@@ -174,7 +174,7 @@
 static  void            G_remove_group( group *grp );
 static  void            G_remove_mailbox( group *grp, mailbox m );
 
-static  int             G_compare_cstrptr(const void *, const void *);
+static  int             G_compare_nameptr(const void *, const void *);
 static  int             G_compare_proc_ids_by_conf( const void *, const void * );
 static  int             G_compare_proc_ids_by_conf_internal( configuration *config, const void *a, const void *b);
 static  int             G_compare_daemon_vs_set( const void *, const void * );
@@ -184,9 +184,9 @@
 
 static  void            G_shift_to_GOP( void );
 
-static int G_compare_cstrptr(const void *a, const void *b)
+static int G_compare_nameptr(const void *a, const void *b)
 {
-  return strcmp(*(const char**) a, *(const char**) b);
+  return strncmp(*(const char**) a, *(const char**) b, MAX_GROUP_NAME);
 }
 
 static int G_compare_proc_ids_by_conf(const void *a, const void *b)
@@ -301,7 +301,7 @@
                 Alarmp( SPLOG_FATAL, GROUPS, "G_init: Failed to allocate memory for Cn_active procs array\n");
         }
 
-	ret = stdskl_construct(&GroupsList, sizeof(group*), 0, G_compare_cstrptr);
+	ret = stdskl_construct(&GroupsList, sizeof(group*), 0, G_compare_nameptr);
 	if (ret != 0) {
                 Alarmp( SPLOG_FATAL, GROUPS, "G_init: Failure to Initialize GroupsList\n");
 	}
@@ -394,7 +394,7 @@
     stdit               git, dit;
     stdskl              tmp_GroupsList;
 
-    ret = stdskl_construct(&tmp_GroupsList, sizeof(group*), 0, G_compare_cstrptr);
+    ret = stdskl_construct(&tmp_GroupsList, sizeof(group*), 0, G_compare_nameptr);
     if (ret != 0) {
         Alarmp( SPLOG_FATAL, GROUPS, "G_init: Failure to Initialize GroupsList\n");
     }
@@ -1005,7 +1005,7 @@
                         new_dmn = new( DAEMON_MEMBERS );
                         new_dmn->proc_id = new_p.id;
 
-			if (stdskl_construct(&new_dmn->MembersList, sizeof(member*), 0, G_compare_cstrptr) != 0) {
+			if (stdskl_construct(&new_dmn->MembersList, sizeof(member*), 0, G_compare_nameptr) != 0) {
 			  Alarmp( SPLOG_FATAL, GROUPS, "%s: %d: memory allocation failed\n", __FILE__, __LINE__ );
 			}
 
@@ -2431,7 +2431,7 @@
                                 ip_string, dmn->memb_id.time );
                         Alarmp( SPLOG_DEBUG, GROUPS, "G_mess_to_groups: \t\twith %u members:\n", num_memb );
 
-			if (stdskl_construct(&dmn->MembersList, sizeof(member*), 0, G_compare_cstrptr) != 0) {
+			if (stdskl_construct(&dmn->MembersList, sizeof(member*), 0, G_compare_nameptr) != 0) {
 			  Alarmp( SPLOG_FATAL, GROUPS, "%s: %d: memory allocation failed\n", __FILE__, __LINE__ );
 			}
 




More information about the Spread-cvs mailing list