summaryrefslogtreecommitdiff
path: root/stickynotes/stickynotes.c
diff options
context:
space:
mode:
authorrbuj <[email protected]>2019-03-14 08:52:34 +0100
committerZenWalker <[email protected]>2019-04-14 14:38:44 +0200
commit538e7566185ccd4f6accd55fcb55644c0223d82f (patch)
tree67974a2fc1797bbb4e7403f6fa0aa6b40b71821b /stickynotes/stickynotes.c
parentb2bd59f9559c161876515ee6696d5c8c94f0f49a (diff)
downloadmate-applets-538e7566185ccd4f6accd55fcb55644c0223d82f.tar.bz2
mate-applets-538e7566185ccd4f6accd55fcb55644c0223d82f.tar.xz
Fix use-after-free clang warning
battstat_applet.c:755:3: warning: Use of memory after it is freed static_global_teardown (battstat); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ stickynotes.c:674:24: warning: Use of memory after it is freed stickynotes->notes = g_list_remove(stickynotes->notes, note); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Diffstat (limited to 'stickynotes/stickynotes.c')
-rw-r--r--stickynotes/stickynotes.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/stickynotes/stickynotes.c b/stickynotes/stickynotes.c
index f71577b0..dd0a4fc5 100644
--- a/stickynotes/stickynotes.c
+++ b/stickynotes/stickynotes.c
@@ -668,10 +668,12 @@ void stickynotes_remove(StickyNote *note)
if (stickynote_get_empty(note)
|| !g_settings_get_boolean (stickynotes->settings, "confirm-deletion")
|| gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) {
- stickynote_free(note);
/* Remove the note from the linked-list of all notes */
- stickynotes->notes = g_list_remove(stickynotes->notes, note);
+ stickynotes->notes = g_list_remove_all (stickynotes->notes, note);
+
+ /* Destroy the note */
+ stickynote_free (note);
/* Update tooltips */
stickynotes_applet_update_tooltips();