summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/cvs/src
diff options
context:
space:
mode:
authortobias <tobias@openbsd.org>2008-05-11 12:16:00 +0000
committertobias <tobias@openbsd.org>2008-05-11 12:16:00 +0000
commit518886fbd83390444870ad84194dbe45e96216a1 (patch)
treeedfe493c4463a6746d5d67fb19418de2cc985437 /gnu/usr.bin/cvs/src
parentMemory leak in rcs_delta_stats plugged. (diff)
downloadwireguard-openbsd-518886fbd83390444870ad84194dbe45e96216a1.tar.xz
wireguard-openbsd-518886fbd83390444870ad84194dbe45e96216a1.zip
If "cvs admin" encountered an entry in CVS/Entries for a file which has no
(longer an) RCS file in CVSROOT, both -- GNU cvs and OpenCVS -- segfaulted. ok joris
Diffstat (limited to 'gnu/usr.bin/cvs/src')
-rw-r--r--gnu/usr.bin/cvs/src/admin.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gnu/usr.bin/cvs/src/admin.c b/gnu/usr.bin/cvs/src/admin.c
index 359bedf1a65..effd18fe4fb 100644
--- a/gnu/usr.bin/cvs/src/admin.c
+++ b/gnu/usr.bin/cvs/src/admin.c
@@ -559,6 +559,11 @@ admin_fileproc (callerdat, finfo)
}
rcs = vers->srcfile;
+ if (rcs == NULL)
+ {
+ error (0, 0, "lost revision control file for `%s'", finfo->file);
+ goto exitfunc;
+ }
if (rcs->flags & PARTIAL)
RCS_reparsercsfile (rcs, (FILE **) NULL, (struct rcsbuffer *) NULL);