From: Kurt Zeilenga Date: Wed, 2 Sep 1998 16:14:59 +0000 (+0000) Subject: Merge termination bugfix from main. Provided by . X-Git-Tag: OPENLDAP_REL_ENG_1_0_1~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c5362dda3d8c8be8fb696b462975c52dda104e4;p=thirdparty%2Fopenldap.git Merge termination bugfix from main. Provided by . --- diff --git a/servers/slurpd/re.c b/servers/slurpd/re.c index 4a6dc38237..ea2960f671 100644 --- a/servers/slurpd/re.c +++ b/servers/slurpd/re.c @@ -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;