=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/diff3.c,v retrieving revision 1.21 retrieving revision 1.22 diff -c -r1.21 -r1.22 *** src/usr.bin/cvs/diff3.c 2006/03/28 02:13:44 1.21 --- src/usr.bin/cvs/diff3.c 2006/04/05 01:38:55 1.22 *************** *** 1,4 **** ! /* $OpenBSD: diff3.c,v 1.21 2006/03/28 02:13:44 ray Exp $ */ /* * Copyright (C) Caldera International Inc. 2001-2002. --- 1,4 ---- ! /* $OpenBSD: diff3.c,v 1.22 2006/04/05 01:38:55 ray Exp $ */ /* * Copyright (C) Caldera International Inc. 2001-2002. *************** *** 72,78 **** #ifndef lint static const char rcsid[] = ! "$OpenBSD: diff3.c,v 1.21 2006/03/28 02:13:44 ray Exp $"; #endif /* not lint */ #include "includes.h" --- 72,78 ---- #ifndef lint static const char rcsid[] = ! "$OpenBSD: diff3.c,v 1.22 2006/04/05 01:38:55 ray Exp $"; #endif /* not lint */ #include "includes.h" *************** *** 485,494 **** 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'; --- 485,496 ---- 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'; *************** *** 788,804 **** newsz = szchanges == 0 ? 64 : 2 * szchanges; incr = newsz - szchanges; ! p = xrealloc(d13, newsz, sizeof(struct diff)); ! memset(p + szchanges, 0, incr * sizeof(struct diff)); d13 = p; ! p = xrealloc(d23, newsz, sizeof(struct diff)); ! memset(p + szchanges, 0, incr * sizeof(struct diff)); d23 = p; ! p = xrealloc(de, newsz, sizeof(struct diff)); ! memset(p + szchanges, 0, incr * sizeof(struct diff)); de = p; ! q = xrealloc(overlap, newsz, sizeof(char)); ! memset(q + szchanges, 0, incr * sizeof(char)); overlap = q; szchanges = newsz; } --- 790,806 ---- 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; }