=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/rcs/ci.c,v retrieving revision 1.167 retrieving revision 1.168 diff -c -r1.167 -r1.168 *** src/usr.bin/rcs/ci.c 2006/04/29 06:32:00 1.167 --- src/usr.bin/rcs/ci.c 2006/05/04 07:06:58 1.168 *************** *** 1,4 **** ! /* $OpenBSD: ci.c,v 1.167 2006/04/29 06:32:00 ray Exp $ */ /* * Copyright (c) 2005, 2006 Niall O'Higgins * All rights reserved. --- 1,4 ---- ! /* $OpenBSD: ci.c,v 1.168 2006/05/04 07:06:58 xsa Exp $ */ /* * Copyright (c) 2005, 2006 Niall O'Higgins * All rights reserved. *************** *** 329,335 **** static char * checkin_diff_file(struct checkin_params *pb) { ! char path1[MAXPATHLEN], path2[MAXPATHLEN]; BUF *b1, *b2, *b3; char rbuf[64], *deltatext; --- 329,335 ---- static char * checkin_diff_file(struct checkin_params *pb) { ! char *path1, *path2; BUF *b1, *b2, *b3; char rbuf[64], *deltatext; *************** *** 352,368 **** goto out; } ! if (strlcpy(path1, rcs_tmpdir, sizeof(path1)) >= sizeof(path1) || ! strlcat(path1, "/diff1.XXXXXXXXXX", sizeof(path1)) >= sizeof(path1)) ! errx(1, "path truncated"); rcs_buf_write_stmp(b1, path1, 0600); rcs_buf_free(b1); b1 = NULL; ! if (strlcpy(path2, rcs_tmpdir, sizeof(path2)) >= sizeof(path2) || ! strlcat(path2, "/diff2.XXXXXXXXXX", sizeof(path2)) >= sizeof(path2)) ! errx(1, "path truncated"); rcs_buf_write_stmp(b2, path2, 0600); rcs_buf_free(b2); --- 352,364 ---- goto out; } ! (void)xasprintf(&path1, "%s/diff1.XXXXXXXXXX", rcs_tmpdir); rcs_buf_write_stmp(b1, path1, 0600); rcs_buf_free(b1); b1 = NULL; ! (void)xasprintf(&path2, "%s/diff2.XXXXXXXXXX", rcs_tmpdir); rcs_buf_write_stmp(b2, path2, 0600); rcs_buf_free(b2); *************** *** 382,387 **** --- 378,387 ---- rcs_buf_free(b2); if (b3 != NULL) rcs_buf_free(b3); + if (path1 != NULL) + xfree(path1); + if (path2 != NULL) + xfree(path2); return (deltatext); }