summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2020-11-09 14:33:16 +0900
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2020-12-10 17:23:20 +0100
commit8e853fb49167d381e31578fdb72fd1d8b56d4b2a (patch)
tree1475666472ff9f51e4463059188e7e452db5bf4d
parent723c95e5f77a0b79d19b6403cb08901498353766 (diff)
downloadsystemd-8e853fb49167d381e31578fdb72fd1d8b56d4b2a.tar.gz
sd-bus: fix possible division by 0
Fixes #17541. (cherry picked from commit 291bb0b01cae22c3c14882fd5a0ad557c92d9298) (cherry picked from commit f1679a86aaa9b5c099754857a7a782e90f267be0)
-rw-r--r--src/libsystemd/sd-bus/bus-message.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
index f06bca1570..754f9f40e8 100644
--- a/src/libsystemd/sd-bus/bus-message.c
+++ b/src/libsystemd/sd-bus/bus-message.c
@@ -3187,6 +3187,8 @@ static int container_next_item(sd_bus_message *m, struct bus_container *c, size_
int sz;
sz = bus_gvariant_get_size(c->signature);
+ if (sz == 0)
+ return -EBADMSG;
if (sz < 0) {
int alignment;