]> spindle.queued.net Git - midori/commitdiff
Don't leak blockcss but free it before replacing it
authorChristian Dywan <christian@twotoasts.de>
Fri, 9 Oct 2009 15:17:26 +0000 (17:17 +0200)
committerChristian Dywan <christian@twotoasts.de>
Fri, 9 Oct 2009 15:20:55 +0000 (17:20 +0200)
extensions/adblock.c

index dc99c125af124d97953821e5943dfad7ec4025d0..11add567853b249037fe3348d51e6584c373b753 100644 (file)
@@ -23,7 +23,7 @@
 #if WEBKIT_CHECK_VERSION (1, 1, 14)
 
 static GHashTable* pattern;
-static gchar* blockcss = "";
+static gchar* blockcss = NULL;
 
 static void
 adblock_parse_file (gchar* path);
@@ -97,7 +97,7 @@ adblock_reload_rules (MidoriExtension* extension)
     pattern = g_hash_table_new_full (g_str_hash, g_str_equal,
                    (GDestroyNotify)g_free,
                    (GDestroyNotify)g_regex_unref);
-    blockcss = "";
+    katze_assign (blockcss, NULL);
 
     while (filters[i++] != NULL)
     {
@@ -467,9 +467,13 @@ adblock_app_add_browser_cb (MidoriApp*       app,
 static void
 adblock_frame_add (gchar* line)
 {
+    gchar* new_blockcss;
+
     (void)*line++;
     (void)*line++;
-    blockcss = g_strdup_printf ("%s %s { display: none !important; }",blockcss,line);
+    new_blockcss = g_strdup_printf ("%s %s { display: none !important; }",
+                                    blockcss, line);
+    katze_assign (blockcss, new_blockcss);
 }
 
 static gchar*
@@ -568,7 +572,7 @@ adblock_deactivate_cb (MidoriExtension* extension,
         app, adblock_app_add_browser_cb, extension);
     midori_browser_foreach (browser, (GtkCallback)adblock_deactivate_tabs, browser);
 
-    blockcss = "";
+    katze_assign (blockcss, NULL);
     g_hash_table_destroy (pattern);
 }