summaryrefslogtreecommitdiff
path: root/usr.bin
diff options
context:
space:
mode:
authorJoris Vink <joris@cvs.openbsd.org>2005-10-27 00:24:25 +0000
committerJoris Vink <joris@cvs.openbsd.org>2005-10-27 00:24:25 +0000
commitf325f9e73348847194374d44f9cfce456d3f103f (patch)
tree4c5445aaced3268c149bdc48e9063a86a5f4f992 /usr.bin
parent5d0ef7d0931f7227ce9aa4997b56bc3750f21a8b (diff)
if cvs_file_loadinfo fails, return failure to the caller instead
of acting like everything went fine. this fixes eternal loops in the client which waits for data from the server while the server waits for data from the client. problem found and fixed by Nuno Morgadinho, thanks!
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/cvs/file.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.bin/cvs/file.c b/usr.bin/cvs/file.c
index af296b32515..66230cdd39f 100644
--- a/usr.bin/cvs/file.c
+++ b/usr.bin/cvs/file.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: file.c,v 1.125 2005/10/16 00:29:17 joris Exp $ */
+/* $OpenBSD: file.c,v 1.126 2005/10/27 00:24:24 joris Exp $ */
/*
* Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
* All rights reserved.
@@ -451,7 +451,7 @@ cvs_file_getspec(char **fspec, int fsn, int flags, int (*cb)(CVSFILE *, void *),
cf = cvs_file_loadinfo(pcopy, flags, cb, arg, freecf);
if (cf == NULL) {
if (cvs_error != CVS_EX_OK)
- break;
+ return (-1);
continue;
}