[balsa/wip/gtk4: 156/351] Avoid a spurious use-after-free warning



commit ae7a6948adfa46e0f2b14f5827808002ab9fbb57
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Thu Feb 8 14:11:43 2018 -0500

    Avoid a spurious use-after-free warning
    
    g_object_remove_weak_pointer does not dereference weak_pointer_location,
    but scan-build warns about use after free anyway.

 src/balsa-mime-widget-image.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
---
diff --git a/src/balsa-mime-widget-image.c b/src/balsa-mime-widget-image.c
index 3fcc835..87f0b3c 100644
--- a/src/balsa-mime-widget-image.c
+++ b/src/balsa-mime-widget-image.c
@@ -92,7 +92,7 @@ balsa_mime_widget_image_resize_all(GtkWidget * widget, gpointer user_data)
         g_object_set_data(G_OBJECT(widget), "check_size_sched",
                           GINT_TO_POINTER(TRUE));
         *widget_p = widget;
-        g_object_add_weak_pointer(G_OBJECT(widget), (gpointer) widget_p);
+        g_object_add_weak_pointer(G_OBJECT(widget), (gpointer *) widget_p);
         g_idle_add((GSourceFunc) img_check_size, widget_p);
     }
 }
@@ -129,11 +129,12 @@ img_check_size(GtkImage ** widget_p)
     GtkAllocation allocation;
 
     image = *widget_p;
-    g_free(widget_p);
     if (image == NULL) {
+        g_free(widget_p);
        return FALSE;
     }
-    g_object_remove_weak_pointer(G_OBJECT(image), (gpointer) widget_p);
+    g_object_remove_weak_pointer(G_OBJECT(image), (gpointer *) widget_p);
+    g_free(widget_p);
 
     viewport = gtk_widget_get_ancestor(GTK_WIDGET(image), GTK_TYPE_VIEWPORT);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]