summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/protocol-dbus.c
diff options
context:
space:
mode:
authorTanu Kaskinen <ext-tanu.kaskinen@nokia.com>2010-03-29 08:25:42 +0300
committerTanu Kaskinen <ext-tanu.kaskinen@nokia.com>2010-05-10 14:10:09 +0300
commitacaeb71cf876e9c6a68c9828cea8c7d69ccc8cf8 (patch)
treeb69d7ea00e4f1664adf68b6323eb61511dabfdf4 /src/pulsecore/protocol-dbus.c
parentad7c8ebff5ec1dcbbaa0ae68b87f98c719ffcba1 (diff)
dbus: Fix segfault when receiving a property access call that isn't permitted.
Diffstat (limited to 'src/pulsecore/protocol-dbus.c')
-rw-r--r--src/pulsecore/protocol-dbus.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/pulsecore/protocol-dbus.c b/src/pulsecore/protocol-dbus.c
index 582bc658..a8a9d603 100644
--- a/src/pulsecore/protocol-dbus.c
+++ b/src/pulsecore/protocol-dbus.c
@@ -406,7 +406,7 @@ static enum find_result_t find_handler_from_properties_call(struct call_info *ca
return NO_SUCH_PROPERTY_INTERFACE;
else if ((call_info->property_handler =
pa_hashmap_get(call_info->iface_entry->property_handlers, call_info->property)))
- return FOUND_GET_PROPERTY;
+ return call_info->property_handler->get_cb ? FOUND_GET_PROPERTY : PROPERTY_ACCESS_DENIED;
else
return NO_SUCH_PROPERTY;
@@ -440,7 +440,7 @@ static enum find_result_t find_handler_from_properties_call(struct call_info *ca
call_info->expected_property_sig = call_info->property_handler->type;
if (pa_streq(call_info->property_sig, call_info->expected_property_sig))
- return FOUND_SET_PROPERTY;
+ return call_info->property_handler->set_cb ? FOUND_SET_PROPERTY : PROPERTY_ACCESS_DENIED;
else
return INVALID_PROPERTY_SIG;