=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/diff3.c,v retrieving revision 1.35 retrieving revision 1.36 diff -c -r1.35 -r1.36 *** src/usr.bin/cvs/diff3.c 2007/02/22 06:42:09 1.35 --- src/usr.bin/cvs/diff3.c 2007/05/29 00:19:10 1.36 *************** *** 1,4 **** ! /* $OpenBSD: diff3.c,v 1.35 2007/02/22 06:42:09 otto Exp $ */ /* * Copyright (C) Caldera International Inc. 2001-2002. --- 1,4 ---- ! /* $OpenBSD: diff3.c,v 1.36 2007/05/29 00:19:10 ray Exp $ */ /* * Copyright (C) Caldera International Inc. 2001-2002. *************** *** 72,78 **** #ifndef lint static const char rcsid[] = ! "$OpenBSD: diff3.c,v 1.35 2007/02/22 06:42:09 otto Exp $"; #endif /* not lint */ #include --- 72,78 ---- #ifndef lint static const char rcsid[] = ! "$OpenBSD: diff3.c,v 1.36 2007/05/29 00:19:10 ray Exp $"; #endif /* not lint */ #include *************** *** 492,503 **** if (cp[len - 1] != '\n') len++; if (len + 1 > bufsize) { - char *newbuf; do { bufsize += 1024; } while (len + 1 > bufsize); ! newbuf = xrealloc(buf, 1, bufsize); ! buf = newbuf; } memcpy(buf, cp, len - 1); buf[len - 1] = '\n'; --- 492,501 ---- if (cp[len - 1] != '\n') len++; if (len + 1 > bufsize) { do { bufsize += 1024; } while (len + 1 > bufsize); ! buf = xrealloc(buf, 1, bufsize); } memcpy(buf, cp, len - 1); buf[len - 1] = '\n'; *************** *** 789,813 **** static void increase(void) { - struct diff *p; - char *q; size_t newsz, incr; /* are the memset(3) calls needed? */ newsz = szchanges == 0 ? 64 : 2 * szchanges; incr = newsz - szchanges; ! p = xrealloc(d13, newsz, sizeof(*d13)); ! memset(p + szchanges, 0, incr * sizeof(*d13)); ! d13 = p; ! p = xrealloc(d23, newsz, sizeof(*d23)); ! memset(p + szchanges, 0, incr * sizeof(*d23)); ! d23 = p; ! p = xrealloc(de, newsz, sizeof(*de)); ! memset(p + szchanges, 0, incr * sizeof(*de)); ! de = p; ! q = xrealloc(overlap, newsz, sizeof(*overlap)); ! memset(q + szchanges, 0, incr * sizeof(*overlap)); ! overlap = q; szchanges = newsz; } --- 787,805 ---- static void increase(void) { size_t newsz, incr; /* are the memset(3) calls needed? */ newsz = szchanges == 0 ? 64 : 2 * szchanges; incr = newsz - szchanges; ! d13 = xrealloc(d13, newsz, sizeof(*d13)); ! memset(d13 + szchanges, 0, incr * sizeof(*d13)); ! d23 = xrealloc(d23, newsz, sizeof(*d23)); ! memset(d23 + szchanges, 0, incr * sizeof(*d23)); ! de = xrealloc(de, newsz, sizeof(*de)); ! memset(de + szchanges, 0, incr * sizeof(*de)); ! overlap = xrealloc(overlap, newsz, sizeof(*overlap)); ! memset(overlap + szchanges, 0, incr * sizeof(*overlap)); szchanges = newsz; }