=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/fatal.c,v retrieving revision 1.9 retrieving revision 1.10 diff -c -r1.9 -r1.10 *** src/usr.bin/cvs/fatal.c 2007/02/22 06:42:09 1.9 --- src/usr.bin/cvs/fatal.c 2007/05/26 20:13:45 1.10 *************** *** 1,4 **** ! /* $OpenBSD: fatal.c,v 1.9 2007/02/22 06:42:09 otto Exp $ */ /* * Copyright (c) 2002 Markus Friedl. All rights reserved. * --- 1,4 ---- ! /* $OpenBSD: fatal.c,v 1.10 2007/05/26 20:13:45 ray Exp $ */ /* * Copyright (c) 2002 Markus Friedl. All rights reserved. * *************** *** 36,43 **** --- 36,48 ---- void fatal(const char *fmt,...) { + static int been_here; va_list args; + /* Fatal should not loop, (the functions below can fatal). */ + if (been_here++) + goto end; + va_start(args, fmt); cvs_vlog(LP_ABORT, fmt, args); va_end(args); *************** *** 47,51 **** --- 52,57 ---- if (cvs_server_active) cvs_server_send_response("error"); + end: exit(1); }