]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
device-manager: handle NULL renderer better
authorRay Strode <rstrode@redhat.com>
Wed, 18 Jan 2017 15:07:00 +0000 (10:07 -0500)
committerRay Strode <rstrode@redhat.com>
Wed, 18 Jan 2017 15:08:36 +0000 (10:08 -0500)
Right now we'll pass a NULL device name and crash if the renderer
fails to open.

This commit fixes that.

src/libply-splash-core/ply-device-manager.c

index 4004e114a6a1eb3357dc070591549261a1685873..b4c33d4f1e00f9f75d68ee4bc430f5ff7a087f9c 100644 (file)
@@ -689,16 +689,18 @@ create_devices_for_terminal_and_renderer_type (ply_device_manager_t *manager,
                                 return;
                 }
 
-                old_renderer = ply_hashtable_lookup (manager->renderers,
-                                                     (void *) ply_renderer_get_device_name (renderer));
+                if (renderer != NULL) {
+                        old_renderer = ply_hashtable_lookup (manager->renderers,
+                                                             (void *) ply_renderer_get_device_name (renderer));
 
-                if (old_renderer != NULL) {
-                        ply_trace ("ignoring device %s since it's alerady managed",
-                                   ply_renderer_get_device_name (renderer));
-                        ply_renderer_free (renderer);
+                        if (old_renderer != NULL) {
+                                ply_trace ("ignoring device %s since it's alerady managed",
+                                           ply_renderer_get_device_name (renderer));
+                                ply_renderer_free (renderer);
 
-                        renderer = NULL;
-                        return;
+                                renderer = NULL;
+                                return;
+                        }
                 }
         }