From: Kurt Zeilenga Date: Fri, 25 Aug 2006 20:05:14 +0000 (+0000) Subject: Use LINE_MAX instead of BUFSIZ. Per POSIX, LINE_MAX should be at least 2K. X-Git-Tag: OPENLDAP_REL_ENG_2_3_MP~258 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=d35d3b20264d6ff6202f6cc92e7f66e00d47fe6c;p=openldap Use LINE_MAX instead of BUFSIZ. Per POSIX, LINE_MAX should be at least 2K. For ITS#4651 --- diff --git a/include/ac/stdlib.h b/include/ac/stdlib.h index 560ea8170a..3ddabbb9da 100644 --- a/include/ac/stdlib.h +++ b/include/ac/stdlib.h @@ -35,4 +35,14 @@ # define EXIT_FAILURE 1 #endif +#ifdef HAVE_LIMITS_H +#include +#endif + +#if defined(LINE_MAX) +# define AC_LINE_MAX LINE_MAX +#else +# define AC_LINE_MAX 2048 /* POSIX MIN */ +#endif + #endif /* _AC_STDLIB_H */ diff --git a/servers/slapd/config.c b/servers/slapd/config.c index 5ff1c3776b..39692b4ca2 100644 --- a/servers/slapd/config.c +++ b/servers/slapd/config.c @@ -1154,7 +1154,7 @@ slap_cf_aux_table_parse( const char *word, void *dst, slap_cf_aux_table *tab0, L int slap_cf_aux_table_unparse( void *src, struct berval *bv, slap_cf_aux_table *tab0 ) { - char buf[BUFSIZ], *ptr; + char buf[AC_LINE_MAX], *ptr; slap_cf_aux_table *tab; struct berval tmp; @@ -1610,7 +1610,7 @@ strtok_quote( char *line, char *sep, char **quote_ptr ) return( tmp ); } -static char buf[BUFSIZ]; +static char buf[AC_LINE_MAX]; static char *line; static size_t lmax, lcur; @@ -1618,7 +1618,7 @@ static size_t lmax, lcur; do { \ size_t len = strlen( buf ); \ while ( lcur + len + 1 > lmax ) { \ - lmax += BUFSIZ; \ + lmax += AC_LINE_MAX; \ line = (char *) ch_realloc( line, lmax ); \ } \ strcpy( line + lcur, buf ); \ diff --git a/servers/slapd/root_dse.c b/servers/slapd/root_dse.c index cffae770c0..38f9f670b2 100644 --- a/servers/slapd/root_dse.c +++ b/servers/slapd/root_dse.c @@ -322,7 +322,7 @@ fail: * clients. */ for ( i=LDAP_VERSION3; i<=LDAP_VERSION_MAX; i++ ) { - char buf[BUFSIZ]; + char buf[sizeof("255")]; snprintf(buf, sizeof buf, "%d", i); val.bv_val = buf; val.bv_len = strlen( val.bv_val );