summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRadoslaw Pajak <r.pajak@samsung.com>2013-12-10 15:53:13 +0100
committerLubomir Rintel <lkundrak@v3.sk>2015-02-11 11:55:11 +0100
commitc8d934fb10f0f8d476666029d8af118fe72e5d71 (patch)
treef76999949037df94569b802ccf5d267794383349
parent56fcce739e3590960db5f603b606b74c4e002abe (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.c5
-rw-r--r--dbus/kdbus-common.c1
-rw-r--r--dbus/kdbus-common.h1
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