[asterisk-commits] seanbright: trunk r239473 - /trunk/res/res_config_ldap.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Jan 12 11:09:17 CST 2010


Author: seanbright
Date: Tue Jan 12 11:09:12 2010
New Revision: 239473

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=239473
Log:
Fix crash in res_config_ldap.

We need to allocate enough room for 2 pointers, not 2 characters.

(closes issue #16397)
Reported by: bklang
Patches:
      res_config_ldap.patch uploaded by applsplatz (license 949)
Tested by: applsplatz

Modified:
    trunk/res/res_config_ldap.c

Modified: trunk/res/res_config_ldap.c
URL: http://svnview.digium.com/svn/asterisk/trunk/res/res_config_ldap.c?view=diff&rev=239473&r1=239472&r2=239473
==============================================================================
--- trunk/res/res_config_ldap.c (original)
+++ trunk/res/res_config_ldap.c Tue Jan 12 11:09:12 2010
@@ -1214,12 +1214,10 @@
 	ldap_mods[0] = ast_calloc(1, sizeof(LDAPMod));
 
 	ldap_mods[0]->mod_op = LDAP_MOD_REPLACE;
-	ldap_mods[0]->mod_type = ast_calloc(sizeof(char), strlen(newparam) + 1);
-	strcpy(ldap_mods[0]->mod_type, newparam);
-
-	ldap_mods[0]->mod_values = ast_calloc(sizeof(char), 2);
-	ldap_mods[0]->mod_values[0] = ast_calloc(sizeof(char), strlen(newval) + 1);
-	strcpy(ldap_mods[0]->mod_values[0], newval);
+	ldap_mods[0]->mod_type = ast_strdup(newparam);
+
+	ldap_mods[0]->mod_values = ast_calloc(sizeof(char *), 2);
+	ldap_mods[0]->mod_values[0] = ast_strdup(newval);
 
 	while ((newparam = va_arg(ap, const char *))) {
 		newparam = convert_attribute_name_to_ldap(table_config, newparam);




More information about the asterisk-commits mailing list