From 63bca0fad404217968f0dad11daeb75f9cfdd4ae Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 29 Jan 2010 18:10:50 +0000 Subject: [PATCH] (trunk libT) #2823 "crash in bsearch() while updating blocklist" -- fixed in trunk for 1.90 --- libtransmission/session.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/libtransmission/session.c b/libtransmission/session.c index d3a860ebc..4ec3859d3 100644 --- a/libtransmission/session.c +++ b/libtransmission/session.c @@ -1897,11 +1897,11 @@ int tr_blocklistSetContent( tr_session * session, const char * contentFilename ) { - tr_list * l; + tr_list * l; + int ruleCount; tr_blocklist * b; - const char * defaultName = "level1.bin"; - - assert( tr_isSession( session ) ); + const char * defaultName = "level1.bin"; + tr_sessionLock( session ); for( b = NULL, l = session->blocklists; !b && l; l = l->next ) if( tr_stringEndsWith( _tr_blocklistGetFilename( l->data ), @@ -1916,7 +1916,9 @@ tr_blocklistSetContent( tr_session * session, tr_free( path ); } - return _tr_blocklistSetContent( b, contentFilename ); + ruleCount = _tr_blocklistSetContent( b, contentFilename ); + tr_sessionUnlock( session ); + return ruleCount; } tr_bool -- 2.40.0