]> git.sur5r.net Git - openldap/commitdiff
Merge termination bugfix from main. Provided by <vasquez@w270.de>.
authorKurt Zeilenga <kurt@openldap.org>
Wed, 2 Sep 1998 16:14:59 +0000 (16:14 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Wed, 2 Sep 1998 16:14:59 +0000 (16:14 +0000)
servers/slurpd/re.c

index 4a6dc382377247c1da34ff330d9170a69c274e01..ea2960f67142255b964c733445b79931151422bc 100644 (file)
@@ -31,7 +31,9 @@
 extern char *str_getline( char **next );
 extern void ch_free( char *p );
 
+#ifndef        SYSERRLIST_IN_STDIO
 extern char *sys_errlist[];
+#endif /* SYSERRLIST_IN_STDIO */
 
 /* Forward references */
 static Rh      *get_repl_hosts( char *, int *, char ** );
@@ -182,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:
@@ -222,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;