Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP2:Update
gdm.19403
gdm-fix-crash-when-using-Xvfb.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gdm-fix-crash-when-using-Xvfb.patch of Package gdm.19403
From b7bbd224b0aef9d6c75c876153fdf778b5346fd9 Mon Sep 17 00:00:00 2001 From: Benjamin Berg <bberg@redhat.com> Date: Fri, 21 Aug 2020 12:14:32 +0200 Subject: [PATCH 1/2] manager: Fix possible crash by initializing display Some people insist on running sessions in ways where we cannot detect them properly. In that case, we shouldn't find a display, but the variable was not initialized and we could end up accessing random memory resulting in a crash. Fix it by adding the missing initializer. Closes: #555 --- daemon/gdm-manager.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c index 907eca37..e1bc09b1 100644 --- a/daemon/gdm-manager.c +++ b/daemon/gdm-manager.c @@ -811,7 +811,7 @@ gdm_manager_handle_register_session (GdmDBusManager *manager, GVariant *details) { GdmManager *self = GDM_MANAGER (manager); - GdmDisplay *display; + GdmDisplay *display = NULL; const char *sender; GDBusConnection *connection; -- 2.30.0 From 84b4f871e3d8276a102285ac83d21ef11256d6c3 Mon Sep 17 00:00:00 2001 From: Benjamin Berg <bberg@redhat.com> Date: Fri, 21 Aug 2020 12:15:47 +0200 Subject: [PATCH 2/2] manager: Always write out parameter The get_display_and_details_for_bus_sender function does not return a proper error value. Due to this, it makes sense to always write the out parameters (though, I expect we have still more that we might need to write). This is just slightly safer, but the function probably isn't great as is. --- daemon/gdm-manager.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c index e1bc09b1..012be49d 100644 --- a/daemon/gdm-manager.c +++ b/daemon/gdm-manager.c @@ -576,10 +576,11 @@ get_display_and_details_for_bus_sender (GdmManager *self, lookup_by_session_id, (gpointer) session_id); +out: if (out_display != NULL) { *out_display = display; } -out: + g_free (session_id); } -- 2.30.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor