]> git.sur5r.net Git - openldap/blobdiff - servers/slurpd/re.c
Fix some such error
[openldap] / servers / slurpd / re.c
index 18043d98f8ace277efb6e44eaeae2e3c3989ea7c..ea2960f67142255b964c733445b79931151422bc 100644 (file)
@@ -33,7 +33,7 @@ extern void ch_free( char *p );
 
 #ifndef        SYSERRLIST_IN_STDIO
 extern char *sys_errlist[];
-#endif /* SYSERRLIST_IN_STDIO
+#endif /* SYSERRLIST_IN_STDIO */
 
 /* Forward references */
 static Rh      *get_repl_hosts( char *, int *, char ** );
@@ -184,7 +184,9 @@ Re_parse(
            state |= GOT_TIME;
            break;
        case T_DN:
-           re->re_dn = strdup( value );
+           re->re_dn = ch_malloc( len + 1 );
+               memcpy( re->re_dn, value, len );
+               re->re_dn[ len ]='\0';
            state |= GOT_DN;
            break;
        default:
@@ -224,7 +226,9 @@ Re_parse(
            sizeof( Mi ) * ( nml + 2 ));
        re->re_mods[ nml ].mi_type = strdup( type );
        if ( value != NULL ) {
-           re->re_mods[ nml ].mi_val = strdup( value );
+           re->re_mods[ nml ].mi_val = ch_malloc( len + 1 );
+               memcpy( re->re_mods[ nml ].mi_val, value, len );
+               re->re_mods[ nml ].mi_val[ len ] = '\0';
            re->re_mods[ nml ].mi_len = len;
        } else {
            re->re_mods[ nml ].mi_val = NULL;