From f00dd3cbd35399e0a042cb1a40c41f9380623522 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Wed, 27 Feb 2008 20:44:46 +0000 Subject: [PATCH] possibly-better patch for #740. --- libtransmission/torrent.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libtransmission/torrent.c b/libtransmission/torrent.c index 9b54ec37b..b8e40bf93 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 ) ) + if( !err && hashExists( handle, setmeInfo->hash ) ) { err = TR_EDUPLICATE; - - doFree = ( !err || err==TR_EDUPLICATE ) && ( setmeInfo == &tmp ); + doFree = 1; + } if( doFree ) tr_metainfoFree( setmeInfo );