The result of LinuxSecurityLabel item should end to null.
Dbus spec : https://dbus.freedesktop.org/doc/dbus-specification.html
Legacy dbus daemon : dbus/bus/driver.c. _dbus_asv_add_byte_array (&array_iter, "LinuxSecurityLabel", s, strlen (s) + 1))
libdbus kdbus : dbus-transport-kdbus.c. dbus_bool_t res = _dbus_asv_add_byte_array (&array_iter, "LinuxSecurityLabel", info.sec_label, strlen (info.sec_label)+1);
Signed-off-by: INSUN PYO <insun.pyo@samsung.com>
Change-Id: Idff013ca4c56d93a6207bcb7365b36da86f7c1c2
label_size = strlen (creds->sec_label);
label_builder = g_variant_builder_new (G_VARIANT_TYPE ("ay"));
- for (counter = 0 ; counter < label_size ; counter++)
+ for (counter = 0 ; counter < label_size + 1; counter++) /* label_size + 1 : include the \0 in the payload, for zero-copy reading. From dbus/bus/driver.c */
g_variant_builder_add (label_builder, "y", creds->sec_label[counter]);
g_variant_builder_add (&builder, "{sv}", "LinuxSecurityLabel", g_variant_new ("ay", label_builder));