plymouth/0003-fix_null_deref.patch

37 lines
1.6 KiB
Diff
Raw Normal View History

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
===================================================================
Accepting request 840078 from home:qzhao:branches:Base:System - Update to version: 0.9.5+git20200921+20778f2: boot-server: Handle client disconnecting while trigger pending boot-server: Ref count the connections drm: Honor modes selected by the user through video= kernel cmdline argument use resolution of higher res monitor for window size autogoo: use /proc/self/fd/0 instead of /dev/stdin main: Don't bail out of load_settings if "Theme" is missing main: switch log file when switching mode main: fix mode changing before splash is shown two-step: Center message text within labels if labels are centered drm/kms probe speedups drm: Do not unnecessarily get output info twice ply-device-manager: Only consume one udev event at a time two-step: Do not jump to end-animation on halt/reboot if it is disabled two-step: Add UseEndAnimation setting script: add Image.Crop(x, y, width, height) ply-throbber: Do not redraw when we need to stop throbbing on free ply-keymap-icon: Do not draw on free ply-capslock-icon: Do not draw on free script: add missing unref() for system update func themes: Drop UseFirmwareBackground=true from spinner/bgrt firmware-upgrade settings Fix SetSystemUpdateFunction event-loop: Remove ply_trace calls around the disconnect handler ply-terminal-session: Not use grantpt when the system shut down. to avoid system hung up. build-goo: Remove vestigial remnants of old GDM integration code. OBS-URL: https://build.opensuse.org/request/show/840078 OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=273
2020-10-07 17:12:36 +02:00
diff -Nura plymouth-0.9.5+git20200921+20778f2/src/libply-splash-graphics/ply-label.c plymouth-0.9.5+git20200921+20778f2_new/src/libply-splash-graphics/ply-label.c
--- plymouth-0.9.5+git20200921+20778f2/src/libply-splash-graphics/ply-label.c 2020-10-05 23:11:23.011964608 +0800
+++ plymouth-0.9.5+git20200921+20778f2_new/src/libply-splash-graphics/ply-label.c 2020-10-05 23:17:39.139340680 +0800
@@ -130,6 +130,15 @@
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);