summaryrefslogtreecommitdiff
path: root/src/libsystemd-bus
diff options
context:
space:
mode:
Diffstat (limited to 'src/libsystemd-bus')
-rw-r--r--src/libsystemd-bus/bus-control.c3
-rw-r--r--src/libsystemd-bus/kdbus.h2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/libsystemd-bus/bus-control.c b/src/libsystemd-bus/bus-control.c
index aaddb7d374..5cb32eaa4c 100644
--- a/src/libsystemd-bus/bus-control.c
+++ b/src/libsystemd-bus/bus-control.c
@@ -178,10 +178,11 @@ _public_ int sd_bus_list_names(sd_bus *bus, char ***l) {
struct kdbus_name_list *name_list;
struct kdbus_cmd_name *name;
- cmd = malloc0(sizeof(struct kdbus_cmd_name_list *));
+ cmd = malloc0(sizeof(struct kdbus_cmd_name_list));
if (!cmd)
return -ENOMEM;
+ cmd->size = sizeof(struct kdbus_cmd_name_list);
cmd->flags = KDBUS_NAME_LIST_UNIQUE | KDBUS_NAME_LIST_NAMES;
r = ioctl(sd_bus_get_fd(bus), KDBUS_CMD_NAME_LIST, cmd);
diff --git a/src/libsystemd-bus/kdbus.h b/src/libsystemd-bus/kdbus.h
index 09a73fa109..1a294f61d1 100644
--- a/src/libsystemd-bus/kdbus.h
+++ b/src/libsystemd-bus/kdbus.h
@@ -452,6 +452,7 @@ enum {
/**
* struct kdbus_cmd_name_list - request a list of name entries
+ * @size Total size of the struct
* @flags: Flags for the query (KDBUS_NAME_LIST_*)
* @offset: The returned offset in the caller's pool buffer.
* The user must use KDBUS_CMD_FREE to free the
@@ -463,6 +464,7 @@ enum {
* Refer to the documentation for more information.
*/
struct kdbus_cmd_name_list {
+ __u64 size;
__u64 flags;
__u64 offset;
char name[0];