From 8c5362dda3d8c8be8fb696b462975c52dda104e4 Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Wed, 2 Sep 1998 16:14:59 +0000 Subject: [PATCH] Merge termination bugfix from main. Provided by . --- servers/slurpd/re.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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; -- 2.47.2