diff options
author | Radoslaw Pajak <r.pajak@samsung.com> | 2013-12-10 15:53:13 +0100 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2015-02-11 11:55:11 +0100 |
commit | c8d934fb10f0f8d476666029d8af118fe72e5d71 (patch) | |
tree | f76999949037df94569b802ccf5d267794383349 | |
parent | 56fcce739e3590960db5f603b606b74c4e002abe (diff) |
Kdbus upstream merge in progress
Fixed segfault when ListNames is called, but the method is still not working propoerly
(returns nothing).
Change-Id: I1c55b8efb99ba540e6547c0f0b2d5f713d385f98
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
-rw-r--r-- | bus/kdbus-d.c | 5 | ||||
-rw-r--r-- | dbus/kdbus-common.c | 1 | ||||
-rw-r--r-- | dbus/kdbus-common.h | 1 |
3 files changed, 4 insertions, 3 deletions
diff --git a/bus/kdbus-d.c b/bus/kdbus-d.c index 2fdf587a..e874b433 100644 --- a/bus/kdbus-d.c +++ b/bus/kdbus-d.c @@ -564,7 +564,7 @@ dbus_bool_t kdbus_list_services (DBusConnection* connection, char ***listp, int cmd.flags = KDBUS_NAME_LIST_NAMES; //TODO add handling | KDBUS_NAME_LIST_UNIQUE; again: - if(ioctl(fd, KDBUS_CMD_NAME_LIST, cmd)) + if(ioctl(fd, KDBUS_CMD_NAME_LIST, &cmd)) { if(errno == EINTR) goto again; @@ -580,6 +580,9 @@ again: for (name = name_list->names; (uint8_t *)(name) < (uint8_t *)(name_list) + name_list->size; name = KDBUS_PART_NEXT(name)) list_len++; + _dbus_verbose ("Name list size: %llu\n", name_list->size); + _dbus_verbose ("List len: %d\n", list_len); + list = malloc(sizeof(char*) * (list_len + 1)); if(list == NULL) goto out; diff --git a/dbus/kdbus-common.c b/dbus/kdbus-common.c index 2334ba7b..d11eddad 100644 --- a/dbus/kdbus-common.c +++ b/dbus/kdbus-common.c @@ -174,7 +174,6 @@ int request_kdbus_name(int fd, const char *name, const __u64 flags, __u64 id) cmd_name->flags = flags_kdbus; cmd_name->id = id; - // cmd_name->conn_flags = 0; _dbus_verbose("Request name - flags sent: 0x%llx !!!!!!!!!\n", cmd_name->flags); diff --git a/dbus/kdbus-common.h b/dbus/kdbus-common.h index 656b25f2..9958dd58 100644 --- a/dbus/kdbus-common.h +++ b/dbus/kdbus-common.h @@ -36,7 +36,6 @@ (typeof(part))(((uint8_t *)part) + KDBUS_ALIGN8((part)->size)) #define KDBUS_MSG_MAX_PAYLOAD_VEC_SIZE 0x00800000 /* maximum size of message header and items */ #define KDBUS_PART_HEADER_SIZE offsetof(struct kdbus_item, data) - #define KDBUS_PART_SIZE(s) KDBUS_ALIGN8((s) + KDBUS_PART_HEADER_SIZE) //todo restore if DBus policy will be applied in kdbus somehow |