From: Lennart Poettering Date: Thu, 31 Oct 2024 14:39:34 +0000 (+0100) Subject: sd-json: don't accidentally convert between unsigned/signed when parsing signal X-Git-Tag: v257-rc1~75 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ccf46aa54bf3e949833cf22e8446043a0ad29200;p=thirdparty%2Fsystemd.git sd-json: don't accidentally convert between unsigned/signed when parsing signal --- diff --git a/src/libsystemd/sd-json/sd-json.c b/src/libsystemd/sd-json/sd-json.c index 5e9c1ba15be..c3d74df9e6c 100644 --- a/src/libsystemd/sd-json/sd-json.c +++ b/src/libsystemd/sd-json/sd-json.c @@ -5614,9 +5614,7 @@ _public_ int sd_json_dispatch_id128(const char *name, sd_json_variant *variant, } _public_ int sd_json_dispatch_signal(const char *name, sd_json_variant *variant, sd_json_dispatch_flags_t flags, void *userdata) { - int *signo = userdata; - uint32_t k; - int r; + int *signo = ASSERT_PTR(userdata), r; assert_return(variant, -EINVAL); @@ -5625,7 +5623,8 @@ _public_ int sd_json_dispatch_signal(const char *name, sd_json_variant *variant, return 0; } - r = sd_json_dispatch_uint32(name, variant, flags, &k); + int k; + r = sd_json_dispatch_int(name, variant, flags, &k); if (r < 0) return r;