summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortobias <tobias@openbsd.org>2010-10-20 19:55:46 +0000
committertobias <tobias@openbsd.org>2010-10-20 19:55:46 +0000
commita3aab4b05264130e4839667a71eb5fa44b5806a7 (patch)
treef571b8e0c538e4bc89e726b428c2c05776c3cb56
parentRemove the need for rp_file in parser structure, instead keep only one (diff)
downloadwireguard-openbsd-a3aab4b05264130e4839667a71eb5fa44b5806a7.tar.xz
wireguard-openbsd-a3aab4b05264130e4839667a71eb5fa44b5806a7.zip
Merge OpenCVS' rcs_deltatext_set into OpenRCS, fixing a memory leak.
ok nicm zinovik
-rw-r--r--usr.bin/rcs/rcs.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/usr.bin/rcs/rcs.c b/usr.bin/rcs/rcs.c
index 1d58cb5cdc2..d154eaa7ead 100644
--- a/usr.bin/rcs/rcs.c
+++ b/usr.bin/rcs/rcs.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rcs.c,v 1.69 2010/10/20 19:53:53 tobias Exp $ */
+/* $OpenBSD: rcs.c,v 1.70 2010/10/20 19:55:46 tobias Exp $ */
/*
* Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org>
* All rights reserved.
@@ -1897,12 +1897,14 @@ rcs_deltatext_set(RCSFILE *rfp, RCSNUM *rev, BUF *bp)
rdp->rd_text = xmalloc(len);
rdp->rd_tlen = len;
(void)memcpy(rdp->rd_text, dtext, len);
- xfree(dtext);
} else {
rdp->rd_text = NULL;
rdp->rd_tlen = 0;
}
+ if (dtext != NULL)
+ xfree(dtext);
+
return (0);
}