From: Zbigniew Jędrzejewski-Szmek Date: Mon, 9 Jul 2018 09:12:33 +0000 (+0200) Subject: bus-message: let's always use -EBADMSG when the message is bad X-Git-Tag: v240~650^2~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69bd42ca072dfb2f7603b1f82053063293ab54b5;p=thirdparty%2Fsystemd.git bus-message: let's always use -EBADMSG when the message is bad -EINVAL means the arguments were somehow wrong, so translate the code we get internally into -EBADMSG when returning. --- diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c index 80d4407f0b5..41760b5915a 100644 --- a/src/libsystemd/sd-bus/bus-message.c +++ b/src/libsystemd/sd-bus/bus-message.c @@ -5385,6 +5385,8 @@ int bus_message_parse_fields(sd_bus_message *m) { &m->root_container.item_size, &m->root_container.offsets, &m->root_container.n_offsets); + if (r == -EINVAL) + return -EBADMSG; if (r < 0) return r; } diff --git a/test/fuzz/fuzz-bus-message/crash-c1b37b4729b42c0c05b23cba4eed5d8102498a1e b/test/fuzz/fuzz-bus-message/crash-c1b37b4729b42c0c05b23cba4eed5d8102498a1e new file mode 100644 index 00000000000..2ae1a8715a1 Binary files /dev/null and b/test/fuzz/fuzz-bus-message/crash-c1b37b4729b42c0c05b23cba4eed5d8102498a1e differ