summaryrefslogtreecommitdiff
path: root/src/libelogind/sd-bus/bus-signature.c
diff options
context:
space:
mode:
authorMark Hindley <mark@hindley.org.uk>2018-11-12 09:22:09 +0000
committerMark Hindley <mark@hindley.org.uk>2018-11-12 09:22:09 +0000
commita7bee29ae34de50a86bf64d4ea9f69bdbc3b27e4 (patch)
treeac6c9abfefdc4286c4f52167738c4e4d35c96cd4 /src/libelogind/sd-bus/bus-signature.c
parent98f0f1042d219289b880436fad42823433648d18 (diff)
parent2cc17d30309a1db16cccbf376a59ae40e47b6959 (diff)
Merge branch 'merge_upstream' into debian_WIP
Diffstat (limited to 'src/libelogind/sd-bus/bus-signature.c')
-rw-r--r--src/libelogind/sd-bus/bus-signature.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libelogind/sd-bus/bus-signature.c b/src/libelogind/sd-bus/bus-signature.c
index 18c91e870..1ca37cbb5 100644
--- a/src/libelogind/sd-bus/bus-signature.c
+++ b/src/libelogind/sd-bus/bus-signature.c
@@ -58,6 +58,12 @@ static int signature_element_length_internal(
p += t;
}
+ if (p - s < 2)
+ /* D-Bus spec: Empty structures are not allowed; there
+ * must be at least one type code between the parentheses.
+ */
+ return -EINVAL;
+
*l = p - s + 1;
return 0;
}