diff options
author | 2010-10-20 19:55:46 +0000 | |
---|---|---|
committer | 2010-10-20 19:55:46 +0000 | |
commit | a3aab4b05264130e4839667a71eb5fa44b5806a7 (patch) | |
tree | f571b8e0c538e4bc89e726b428c2c05776c3cb56 | |
parent | Remove the need for rp_file in parser structure, instead keep only one (diff) | |
download | wireguard-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.c | 6 |
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); } |