From 7ae4fabb76f4fd3e833a445996afad695d821e30 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 24 Oct 2024 14:47:38 +1000 Subject: [PATCH] pad: don't clobber the errno if the pad led failed to initialize pad_led_destroy() may call something that sets errno, so let's protect against that. Part-of: --- src/evdev-tablet-pad-leds.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/evdev-tablet-pad-leds.c b/src/evdev-tablet-pad-leds.c index bcb41644..9037d20d 100644 --- a/src/evdev-tablet-pad-leds.c +++ b/src/evdev-tablet-pad-leds.c @@ -104,7 +104,7 @@ pad_led_new(struct libinput *libinput, const char *prefix, int group, int mode) { struct pad_mode_led *led; char path[PATH_MAX]; - int rc, fd; + int rc, fd, save_errno; led = zalloc(sizeof *led); led->brightness_fd = -1; @@ -133,7 +133,9 @@ pad_led_new(struct libinput *libinput, const char *prefix, int group, int mode) return led; error: + save_errno = errno; pad_led_destroy(libinput, led); + errno = save_errno; return NULL; } #endif /* HAVE_LIBWACOM */ -- 2.34.1