diff options
Diffstat (limited to 'src/libsystemd-bus/bus-kernel.c')
-rw-r--r-- | src/libsystemd-bus/bus-kernel.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/libsystemd-bus/bus-kernel.c b/src/libsystemd-bus/bus-kernel.c index b2d98c05d7..264c6994d9 100644 --- a/src/libsystemd-bus/bus-kernel.c +++ b/src/libsystemd-bus/bus-kernel.c @@ -474,8 +474,7 @@ int bus_kernel_create(const char *name, char **s) { return -errno; l = strlen(name); - make = alloca(offsetof(struct kdbus_cmd_bus_make, name) + DECIMAL_STR_MAX(uid_t) + 1 + l + 1); - memset(make, 0, offsetof(struct kdbus_cmd_bus_make, name)); + make = alloca0(offsetof(struct kdbus_cmd_bus_make, name) + DECIMAL_STR_MAX(uid_t) + 1 + l + 1); sprintf(make->name, "%lu-%s", (unsigned long) getuid(), name); make->size = offsetof(struct kdbus_cmd_bus_make, name) + strlen(make->name) + 1; make->flags = KDBUS_ACCESS_WORLD | KDBUS_POLICY_OPEN; |