diff options
author | Joris Vink <joris@cvs.openbsd.org> | 2005-10-27 00:24:25 +0000 |
---|---|---|
committer | Joris Vink <joris@cvs.openbsd.org> | 2005-10-27 00:24:25 +0000 |
commit | f325f9e73348847194374d44f9cfce456d3f103f (patch) | |
tree | 4c5445aaced3268c149bdc48e9063a86a5f4f992 /usr.bin/cvs | |
parent | 5d0ef7d0931f7227ce9aa4997b56bc3750f21a8b (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/cvs')
-rw-r--r-- | usr.bin/cvs/file.c | 4 |
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; } |