summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2018-08-11 09:02:48 +0200
committerLukáš Nykrýn <lnykryn@redhat.com>2019-05-03 12:50:30 +0200
commit13993b51c5cab806d81a7305c895bafd4cd48876 (patch)
tree180b1fa2200c856b39a87afd5251cb8c5fb8d8df
parentd212765dc94ba25c04e0e9a278586f0e86851e35 (diff)
downloadsystemd-13993b51c5cab806d81a7305c895bafd4cd48876.tar.gz
bus-message: also properly copy struct signature when skipping
The change is similar to that in the previous commit, but I don't have a reproducer / test case case for this one, so I'm keeping it seperate. (cherry picked from commit 3d338a302f56c0ef0445660d9856794abe1af8b5) Resolves: #1696224
-rw-r--r--src/libsystemd/sd-bus/bus-message.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
index 202f1aab30..e71d29f91d 100644
--- a/src/libsystemd/sd-bus/bus-message.c
+++ b/src/libsystemd/sd-bus/bus-message.c
@@ -5036,9 +5036,9 @@ static int message_skip_fields(
assert(l >= 2);
{
- char sig[l-1], *s;
- strncpy(sig, *signature + 1, l-1);
- s = sig;
+ char sig[l + 1], *s = sig;
+ strncpy(sig, *signature + 1, l);
+ sig[l] = '\0';
r = message_skip_fields(m, ri, (uint32_t) -1, (const char**) &s);
if (r < 0)