sd-bus: fix invalid stack access on test-bus-marshal
authorDavid Herrmann <dh.herrmann@gmail.com>
Thu, 16 Jul 2015 12:57:59 +0000 (14:57 +0200)
committerDavid Herrmann <dh.herrmann@gmail.com>
Thu, 16 Jul 2015 13:01:52 +0000 (15:01 +0200)
Make sure we actually parse "unsigned long long" if we encode a uint64_t.
Otherwise, we will get random data from the stack.

src/libsystemd/sd-bus/test-bus-marshal.c

index 73c6e41..59deaea 100644 (file)
@@ -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");