]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
device-manager: fix use after free
authorRay Strode <rstrode@redhat.com>
Tue, 7 Jun 2016 12:28:03 +0000 (08:28 -0400)
committerRay Strode <rstrode@redhat.com>
Tue, 7 Jun 2016 12:28:03 +0000 (08:28 -0400)
If a renderer fails to open, then we need to make sure we nullify,
the renderer variable after freeing it, since subsequent code checks
if the renderer is null to know whether or not to proceed with
fallback.

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

index 877b7cd04fb975b7238384d18d82e6b8dc73ee16..bdc07b392556a27cbc05ae8c878bac3ea3796a92 100644 (file)
@@ -669,6 +669,7 @@ create_devices_for_terminal_and_renderer_type (ply_device_manager_t *manager,
                 if (!ply_renderer_open (renderer)) {
                         ply_trace ("could not open renderer for %s", device_path);
                         ply_renderer_free (renderer);
+                        renderer = NULL;
 
                         if (renderer_type != PLY_RENDERER_TYPE_AUTO)
                                 return;