From e1b27ffbf604546725eca78ef498b88fd60c4f42 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 13 Dec 2004 21:50:20 +0000 Subject: Update. 2004-12-13 Ulrich Drepper * nss/getnssent.c (__nss_getent): Double buffer size each round to avoid problems with delays for some people's huge entries. * nss/getXXbyYY.c (FUNCTION_NAME): Likewise. --- nss/getXXbyYY.c | 2 +- nss/getnssent.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'nss') diff --git a/nss/getXXbyYY.c b/nss/getXXbyYY.c index 854a3e859b..dd0ac840eb 100644 --- a/nss/getXXbyYY.c +++ b/nss/getXXbyYY.c @@ -123,7 +123,7 @@ FUNCTION_NAME (ADD_PARAMS) ) { char *new_buf; - buffer_size += BUFLEN; + buffer_size *= 2; new_buf = (char *) realloc (buffer, buffer_size); if (new_buf == NULL) { diff --git a/nss/getnssent.c b/nss/getnssent.c index a56d34d884..1f7573da74 100644 --- a/nss/getnssent.c +++ b/nss/getnssent.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -38,7 +38,7 @@ __nss_getent (getent_r_function func, void **resbuf, char **buffer, && (h_errnop == NULL || *h_errnop == NETDB_INTERNAL)) { char *new_buf; - *buffer_size += buflen; + *buffer_size *= 2; new_buf = realloc (*buffer, *buffer_size); if (new_buf == NULL) { -- cgit v1.2.3