From 82d0cd852abc9093bd036406560865fd32369894 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Wed, 27 Feb 2008 20:16:01 +0000 Subject: [PATCH] #740 fix tr_torrentParse() leak when adding duplicate torrents. --- libtransmission/torrent.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libtransmission/torrent.c b/libtransmission/torrent.c index e3ffe6416..9b54ec37b 100644 --- a/libtransmission/torrent.c +++ b/libtransmission/torrent.c @@ -422,11 +422,12 @@ tr_torrentParse( const tr_handle * handle, return TR_EINVALID; err = tr_metainfoParse( setmeInfo, metainfo, handle->tag ); - doFree = !err && ( setmeInfo == &tmp ); if( !err && hashExists( handle, setmeInfo->hash ) ) err = TR_EDUPLICATE; + doFree = ( !err || err==TR_EDUPLICATE ) && ( setmeInfo == &tmp ); + if( doFree ) tr_metainfoFree( setmeInfo );