From c9cddf51e757d8e59f0d5ead82a9d2414d61e9be Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 7 Jul 1999 12:30:38 +0000 Subject: [PATCH] Update. 1999-07-07 Ulrich Drepper * sysdeps/posix/getcwd.c: When resizing buffer make sure new size is large enough. --- ChangeLog | 5 +++++ sysdeps/posix/getcwd.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index f73f31e..b9216e2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +1999-07-07 Ulrich Drepper + + * sysdeps/posix/getcwd.c: When resizing buffer make sure new size + is large enough. + 1999-07-07 Andreas Schwab * sysdeps/unix/sysv/linux/getpt.c: Check that /dev/pts is mounted. diff --git a/sysdeps/posix/getcwd.c b/sysdeps/posix/getcwd.c index fe094b5..950ae61 100644 --- a/sysdeps/posix/getcwd.c +++ b/sysdeps/posix/getcwd.c @@ -135,6 +135,10 @@ extern void free (); # define memmove memcpy #endif /* Not ANSI_STRING. */ +#ifndef MAX +# define MAX(a, b) ((a) < (b) ? (b) : (a)) +#endif + #ifdef _LIBC # ifndef mempcpy # define mempcpy __mempcpy @@ -368,7 +372,7 @@ __getcwd (buf, size) { char *tmp; - size *= 2; + size = 2 * MAX (size, namlen); tmp = realloc (path, size); if (tmp == NULL) { -- 2.7.4