From 058e94f45f0f7637692a204520d8e0e76b715a20 Mon Sep 17 00:00:00 2001 From: millert Date: Sun, 27 Jul 2003 18:58:26 +0000 Subject: We need to initialize clen to 0 each time through diffreg() for when diffreg() is called multiple times (i.e. in directory mode). Fixes a hang I saw doing "diff -r" of two large directory trees. --- usr.bin/diff/diffreg.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'usr.bin/diff/diffreg.c') diff --git a/usr.bin/diff/diffreg.c b/usr.bin/diff/diffreg.c index 85f4e45fcdd..33a2cd31581 100644 --- a/usr.bin/diff/diffreg.c +++ b/usr.bin/diff/diffreg.c @@ -1,4 +1,4 @@ -/* $OpenBSD: diffreg.c,v 1.43 2003/07/27 07:39:52 otto Exp $ */ +/* $OpenBSD: diffreg.c,v 1.44 2003/07/27 18:58:26 millert Exp $ */ /* * Copyright (C) Caldera International Inc. 2001-2002. @@ -65,7 +65,7 @@ */ #ifndef lint -static const char rcsid[] = "$OpenBSD: diffreg.c,v 1.43 2003/07/27 07:39:52 otto Exp $"; +static const char rcsid[] = "$OpenBSD: diffreg.c,v 1.44 2003/07/27 18:58:26 millert Exp $"; #endif /* not lint */ #include @@ -418,6 +418,7 @@ notsame: class = erealloc(class, (slen[0] + 2) * sizeof(int)); klist = emalloc((slen[0] + 2) * sizeof(int)); + clen = 0; clistlen = 100; clist = emalloc(clistlen * sizeof(cand)); i = stone(class, slen[0], member, klist); -- cgit v1.2.3-59-g8ed1b