From: David Herrmann Date: Thu, 16 Jul 2015 12:57:59 +0000 (+0200) Subject: sd-bus: fix invalid stack access on test-bus-marshal X-Git-Tag: v226.4~1^2~204 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=acfcd596701fed76897fb64396ac6a123576c6e1;p=elogind.git sd-bus: fix invalid stack access on test-bus-marshal Make sure we actually parse "unsigned long long" if we encode a uint64_t. Otherwise, we will get random data from the stack. --- diff --git a/src/libelogind/sd-bus/test-bus-marshal.c b/src/libelogind/sd-bus/test-bus-marshal.c index 73c6e41c8..59deaea89 100644 --- a/src/libelogind/sd-bus/test-bus-marshal.c +++ b/src/libelogind/sd-bus/test-bus-marshal.c @@ -131,7 +131,7 @@ int main(int argc, char *argv[]) { r = sd_bus_message_append(m, "a{yv}", 2, 3, "s", "foo", 5, "s", "waldo"); assert_se(r >= 0); - r = sd_bus_message_append(m, "y(ty)y(yt)y", 8, 777, 7, 9, 77, 7777, 10); + r = sd_bus_message_append(m, "y(ty)y(yt)y", 8, 777ULL, 7, 9, 77, 7777ULL, 10); assert_se(r >= 0); r = sd_bus_message_append(m, "ba(ss)", 255, 3, "aaa", "1", "bbb", "2", "ccc", "3");