plymouth/0003-fix_null_deref.patch
Ismail Dönmez 274b45a4c3 Accepting request 358382 from home:favogt:branches:Base:System
Add the third patch from the series as well, for completeness.
This fixes a crash that could theoretically happen if the font in the initrd can't be read.

Correct patch this time :-)

OBS-URL: https://build.opensuse.org/request/show/358382
OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=171
2016-02-08 16:17:25 +00:00

35 lines
1.4 KiB
Diff

From 99ee02fe20ae53323fe5756416e6a7d96a3baf8a Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt@suse.com>
Date: Thu, 21 Jan 2016 10:39:21 +0100
Subject: [PATCH 1/3] ply-label: Don't crash if label plugin fails
The label plugin's create_control function can return NULL if allocation
failed, for example, but ply-label.c ignores that and uses the NULL control,
causing various SEGVs.
Signed-off-by: Fabian Vogt <fvogt@suse.com>
---
src/libply-splash-graphics/ply-label.c | 8 ++++++++
1 file changed, 8 insertions(+)
Index: plymouth-0.9.2/src/libply-splash-graphics/ply-label.c
===================================================================
--- plymouth-0.9.2.orig/src/libply-splash-graphics/ply-label.c
+++ plymouth-0.9.2/src/libply-splash-graphics/ply-label.c
@@ -130,6 +130,15 @@ ply_label_load_plugin (ply_label_t *labe
label->control = label->plugin_interface->create_control ();
+ if (label->control == NULL) {
+ ply_save_errno ();
+ label->plugin_interface = NULL;
+ ply_close_module (label->module_handle);
+ label->module_handle = NULL;
+ ply_restore_errno ();
+ return false;
+ }
+
if (label->text != NULL)
label->plugin_interface->set_text_for_control (label->control,
label->text);