Update.
authorUlrich Drepper <drepper@redhat.com>
Wed, 7 Jul 1999 12:30:38 +0000 (12:30 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 7 Jul 1999 12:30:38 +0000 (12:30 +0000)
1999-07-07  Ulrich Drepper  <drepper@cygnus.com>

* sysdeps/posix/getcwd.c: When resizing buffer make sure new size
is large enough.

ChangeLog
sysdeps/posix/getcwd.c

index f73f31e..b9216e2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+1999-07-07  Ulrich Drepper  <drepper@cygnus.com>
+
+       * sysdeps/posix/getcwd.c: When resizing buffer make sure new size
+       is large enough.
+
 1999-07-07  Andreas Schwab  <schwab@suse.de>
 
        * sysdeps/unix/sysv/linux/getpt.c: Check that /dev/pts is mounted.
index fe094b5..950ae61 100644 (file)
@@ -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)
                    {