--- getcwd.c.ORIG 2001-07-06 06:56:01.000000000 +0200 +++ getcwd.c 2003-05-31 15:15:36.977823440 +0200 @@ -274,7 +274,7 @@ char *new; if (dotlist == dots) { - new = malloc (dotsize * 2 + 1); + new = malloc (dotsize * 2 + 2); if (new == NULL) goto lose; #ifdef HAVE_MEMPCPY @@ -286,17 +286,18 @@ } else { - new = realloc ((__ptr_t) dotlist, dotsize * 2 + 1); + new = realloc ((__ptr_t) dotlist, dotsize * 2 + 2); if (new == NULL) goto lose; dotp = &new[dotsize]; } + *dotp++ = '/'; #ifdef HAVE_MEMPCPY *((char *) mempcpy ((char *) dotp, new, dotsize)) = '\0'; - dotsize *= 2; + dotsize = (dotsize * 2) + 1; #else memcpy ((char *) dotp, new, dotsize); - dotsize *= 2; + dotsize = (dotsize * 2) + 1; new[dotsize] = '\0'; #endif dotlist = new;