]> granicus.if.org Git - transmission/commitdiff
(trunk libT) fix tr_ctorFree() crash reported by Rolcol
authorJordan Lee <jordan@transmissionbt.com>
Fri, 4 Mar 2011 04:45:34 +0000 (04:45 +0000)
committerJordan Lee <jordan@transmissionbt.com>
Fri, 4 Mar 2011 04:45:34 +0000 (04:45 +0000)
gtk/tr-core.c

index 0d40849952e9e96775116cbd54269a42ed488325..93a2c2c3dc29ff9c4ac944c4a7be9b304ba489f4 100644 (file)
@@ -1011,18 +1011,20 @@ core_add_ctor( TrCore * core, tr_ctor * ctor, gboolean do_prompt, gboolean do_no
             if( !tr_ctorGetSourceFile(ctor) || !core->priv->adding_from_watch_dir )
                 core_emit_err( core, err, inf.name );
             tr_metainfoFree( &inf );
+            tr_ctorFree( ctor );
             break;
 
         default:
             if( do_prompt )
                 g_signal_emit( core, core_signals[ADD_PROMPT_SIGNAL], 0, ctor );
-            else
+            else {
                 gtr_core_add_torrent( core, core_create_new_torrent( core, ctor ), do_notify );
+                tr_ctorFree( ctor );
+            }
             tr_metainfoFree( &inf );
             break;
     }
 
-    tr_ctorFree( ctor );
     return err;
 }