[Xfce4-commits] <xfce4-clipman-plugin:master> [daemon] Fix possible NULL values (bug #6119 #6120)

Mike Massonnet noreply at xfce.org
Thu Jan 7 00:10:01 CET 2010


Updating branch refs/heads/master
         to d06e35ee62a0477adc84b5d7aeb29e348bb0b813 (commit)
       from a7eb96f5d4b1a847bea7025be480b1a13bc264ad (commit)

commit d06e35ee62a0477adc84b5d7aeb29e348bb0b813
Author: Mike Massonnet <mmassonnet at xfce.org>
Date:   Thu Jan 7 00:04:34 2010 +0100

    [daemon] Fix possible NULL values (bug #6119 #6120)
    
    As reported, the abrt program detected a possible crash when the default
    cache is used to restore content or fill the selection while it is NULL.

 daemon/gsd-clipboard-manager.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/daemon/gsd-clipboard-manager.c b/daemon/gsd-clipboard-manager.c
index 494bb44..1edc068 100644
--- a/daemon/gsd-clipboard-manager.c
+++ b/daemon/gsd-clipboard-manager.c
@@ -119,7 +119,7 @@ default_clipboard_get_func (GtkClipboard *clipboard,
         GtkSelectionData *selection_data_cache = NULL;
 
         list = manager->priv->default_cache;
-        for (; list->next != NULL; list = list->next) {
+        for (; list != NULL && list->next != NULL; list = list->next) {
                 selection_data_cache = list->data;
                 if (gtk_selection_data_get_target (selection_data) ==
                     gtk_selection_data_get_target (selection_data_cache)) {
@@ -154,8 +154,11 @@ default_clipboard_restore (GsdClipboardManager *manager)
         GtkSelectionData *sdata;
         GSList           *list;
 
-        target_list = gtk_target_list_new (NULL, 0);
         list = manager->priv->default_cache;
+        if (list == NULL) {
+                return;
+        }
+        target_list = gtk_target_list_new (NULL, 0);
         for (; list->next != NULL; list = list->next) {
                 sdata = list->data;
                 gtk_target_list_add (target_list,



More information about the Xfce4-commits mailing list