|
|
84b277 |
From 48a85bb45ff9d3ee302594ac41d102fa16b31350 Mon Sep 17 00:00:00 2001
|
|
|
84b277 |
From: Michal Sekletar <msekleta@redhat.com>
|
|
|
84b277 |
Date: Sat, 27 Sep 2014 20:40:11 +0200
|
|
|
84b277 |
Subject: [PATCH] dbus: fix crash when appending selinux context
|
|
|
84b277 |
|
|
|
84b277 |
RHEL-only
|
|
|
84b277 |
|
|
|
84b277 |
Related: #1113790
|
|
|
84b277 |
---
|
|
|
84b277 |
src/core/dbus-execute.c | 11 +++++++++--
|
|
|
84b277 |
1 file changed, 9 insertions(+), 2 deletions(-)
|
|
|
84b277 |
|
|
|
84b277 |
diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
|
|
|
84b277 |
index 8162f1c..ae65be1 100644
|
|
|
84b277 |
--- a/src/core/dbus-execute.c
|
|
|
84b277 |
+++ b/src/core/dbus-execute.c
|
|
|
84b277 |
@@ -376,6 +376,7 @@ static int bus_execute_append_selinux_context(DBusMessageIter *i, const char *pr
|
|
|
84b277 |
ExecContext *c = data;
|
|
|
84b277 |
dbus_bool_t selinux_context_ignore;
|
|
|
84b277 |
const char *selinux_context = NULL;
|
|
|
84b277 |
+ DBusMessageIter sub;
|
|
|
84b277 |
|
|
|
84b277 |
assert(i);
|
|
|
84b277 |
assert(property);
|
|
|
84b277 |
@@ -387,10 +388,16 @@ static int bus_execute_append_selinux_context(DBusMessageIter *i, const char *pr
|
|
|
84b277 |
|
|
|
84b277 |
selinux_context_ignore = c->selinux_context_ignore;
|
|
|
84b277 |
|
|
|
84b277 |
- if (!dbus_message_iter_append_basic(i, DBUS_TYPE_BOOLEAN, &selinux_context_ignore))
|
|
|
84b277 |
+ if (!dbus_message_iter_open_container(i, DBUS_TYPE_STRUCT, NULL, &sub))
|
|
|
84b277 |
+ return -ENOMEM;
|
|
|
84b277 |
+
|
|
|
84b277 |
+ if (!dbus_message_iter_append_basic(&sub, DBUS_TYPE_BOOLEAN, &selinux_context_ignore))
|
|
|
84b277 |
return -ENOMEM;
|
|
|
84b277 |
|
|
|
84b277 |
- if (!dbus_message_iter_append_basic(i, DBUS_TYPE_STRING, &selinux_context))
|
|
|
84b277 |
+ if (!dbus_message_iter_append_basic(&sub, DBUS_TYPE_STRING, &selinux_context))
|
|
|
84b277 |
+ return -ENOMEM;
|
|
|
84b277 |
+
|
|
|
84b277 |
+ if (!dbus_message_iter_close_container(i, &sub))
|
|
|
84b277 |
return -ENOMEM;
|
|
|
84b277 |
|
|
|
84b277 |
return 0;
|