summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorniallo <niallo@openbsd.org>2006-07-08 07:48:58 +0000
committerniallo <niallo@openbsd.org>2006-07-08 07:48:58 +0000
commitca1c6b2a6fc3ed4e7c8abe931f10924d558dd7cc (patch)
treef46a02692ebb9ae1f48573b924a766f5c74968f7
parentadd the ATI IXP300 SATA PCI id. (diff)
downloadwireguard-openbsd-ca1c6b2a6fc3ed4e7c8abe931f10924d558dd7cc.tar.xz
wireguard-openbsd-ca1c6b2a6fc3ed4e7c8abe931f10924d558dd7cc.zip
- plug an old memory leak in patching code.
ok joris@
-rw-r--r--usr.bin/rcs/rcs.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.bin/rcs/rcs.c b/usr.bin/rcs/rcs.c
index ca0dc11eaf8..b7c79b8c8ed 100644
--- a/usr.bin/rcs/rcs.c
+++ b/usr.bin/rcs/rcs.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rcs.c,v 1.20 2006/06/11 22:25:35 niallo Exp $ */
+/* $OpenBSD: rcs.c,v 1.21 2006/07/08 07:48:58 niallo Exp $ */
/*
* Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
* All rights reserved.
@@ -1082,6 +1082,9 @@ rcs_patch_lines(struct rcs_lines *dlines, struct rcs_lines *plines)
for (i = 0; (i < nbln) && (dlp != NULL); i++) {
ndlp = TAILQ_NEXT(dlp, l_list);
TAILQ_REMOVE(&(dlines->l_lines), dlp, l_list);
+ if (dlp->l_line != NULL)
+ xfree(dlp->l_line);
+ xfree(dlp);
dlp = ndlp;
/* last line is gone - reset dlp */
if (dlp == NULL) {