cvs: fix recently introduced, repeatable segfault
authorJohn Marino <draco@marino.st>
Sun, 8 May 2011 19:42:46 +0000 (21:42 +0200)
committerJohn Marino <draco@marino.st>
Sun, 8 May 2011 19:42:46 +0000 (21:42 +0200)
In specific involving local cvs repositories, the newly refactored cvs
would segfault.  It was traces back to libc's version of delim.  The
previous version of cvs provided its own functions like getline and
delim, but the recent change choose to use libc instead.

This "fix" basically goes back to the provided version of delim.  There
might be something wrong with the libc version.  It would work for a
while, but eventually it segfaulted on a memcpy command.

reported-by: swildner

gnu/usr.bin/cvs/lib/Makefile
gnu/usr.bin/cvs/lib/config.h.proto

index 63e0cd7..ec0d30b 100644 (file)
@@ -27,6 +27,7 @@ SRCS= config.h \
        basename.c \
        stripslash.c \
        getnline.c  \
+       getdelim.c \
        strnlen1.c \
        xalloc-die.c \
        xgethostname.c \
index aeb3923..9536838 100644 (file)
 
 /* Define to 1 if you have the declaration of `getdelim', and to 0 if you
    don't. */
-#define HAVE_DECL_GETDELIM 1
+#define HAVE_DECL_GETDELIM 0
 
 /* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
    */
 #define HAVE_GETADDRINFO 1
 
 /* Define to 1 if you have the `getdelim' function. */
-#define HAVE_GETDELIM 1
+#define HAVE_GETDELIM 0
 
 /* Define to 1 if you have the `geteuid' function. */
 #define HAVE_GETEUID 1