Bug#308536: Crash when creating new profile

Ross Burton Ross Burton <ross@burtonini.com>, 308536@bugs.debian.org
Tue, 10 May 2005 21:41:02 +0100


--=-gndGCW2r2+moWWJn65j/
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

Package: gnome-media
Version: 2.8.0-0.3
Tags: patch

When creating a new profile an invalid iterator is dereferenced, which
causes a segfault.  Attached patch fixes this (I'm about to NMU).

Ross
-- 
Ross Burton                                 mail: ross@burtonini.com
                                          jabber: ross@burtonini.com
                                     www: http://www.burtonini.com./
 PGP Fingerprint: 1A21 F5B0 D8D0 CFE3 81D4 E25A 2D09 E447 D0B4 33DF


--=-gndGCW2r2+moWWJn65j/
Content-Disposition: attachment; filename=fix-iter.diff
Content-Type: text/x-patch; name=fix-iter.diff; charset=UTF-8
Content-Transfer-Encoding: 7bit

Index: profiles/audio-profile-choose.c
===================================================================
RCS file: /cvs/gnome/gnome-media/profiles/audio-profile-choose.c,v
retrieving revision 1.8
diff -u -r1.8 audio-profile-choose.c
--- profiles/audio-profile-choose.c	6 Nov 2004 22:41:19 -0000	1.8
+++ profiles/audio-profile-choose.c	15 Feb 2005 15:33:20 -0000
@@ -85,18 +85,18 @@
   GtkTreeIter iter;
   GtkComboBox *combo = GTK_COMBO_BOX (choose);
   gchar *id;
-  GMAudioProfile *profile;
+  GMAudioProfile *profile = NULL;
   
   g_return_val_if_fail (GTK_IS_COMBO_BOX (choose), NULL);
   /* get active id */
-  gtk_combo_box_get_active_iter (combo, &iter);
-  gtk_tree_model_get (gtk_combo_box_get_model (combo), &iter,
-                      ID_COLUMN, &id, -1);
-  
-  /* look up gm_audio profile */
-  profile = gm_audio_profile_lookup (id);
-  g_free (id);
-
+  if (gtk_combo_box_get_active_iter (combo, &iter)) {
+    gtk_tree_model_get (gtk_combo_box_get_model (combo), &iter,
+                        ID_COLUMN, &id, -1);
+    
+    /* look up gm_audio profile */
+    profile = gm_audio_profile_lookup (id);
+    g_free (id);
+  }
   return profile;
 }
 

--=-gndGCW2r2+moWWJn65j/--