From 77fcaf6d281788edc3d52e52a19964bfc20786bc Mon Sep 17 00:00:00 2001 From: Yaroslav Chvanov Date: Mon, 26 Dec 2022 23:40:37 +0300 Subject: [PATCH] ratbagd: fix stack smashing A regression I introduced while modifying the disableable resolutions patch. It went unnoticed, because it only crashes with optimizations enabled. In my defense, this exception in D-Bus API that boolean messages must give address of an int and not a bool is a weird peculiarity... --- ratbagd/ratbagd-resolution.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ratbagd/ratbagd-resolution.c b/ratbagd/ratbagd-resolution.c index 9ab9daa4..03796cd2 100644 --- a/ratbagd/ratbagd-resolution.c +++ b/ratbagd/ratbagd-resolution.c @@ -196,12 +196,12 @@ static int ratbagd_resolution_set_disabled(sd_bus *bus, sd_bus_error *error) { struct ratbagd_resolution *resolution = userdata; - bool is_disabled; + int is_disabled; int r; CHECK_CALL(sd_bus_message_read(m, "b", &is_disabled)); - r = ratbag_resolution_set_disabled(resolution->lib_resolution, is_disabled); + r = ratbag_resolution_set_disabled(resolution->lib_resolution, !!is_disabled); if (r == 0) { sd_bus *bus = sd_bus_message_get_bus(m); sd_bus_emit_properties_changed(bus,