diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2010-05-31 15:15:11 +0200 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2010-06-03 17:08:11 +0200 |
commit | 9086c438faaa3fd42b1a23a1374fc404009fc73d (patch) | |
tree | c4164a5420c1676563bf8428b1ec2629bc811c41 | |
parent | 28dc4a421238efddc3d667d8976f6baee1d633f0 (diff) | |
download | json-dbus-bridge-9086c438faaa3fd42b1a23a1374fc404009fc73d.tar.gz json-dbus-bridge-9086c438faaa3fd42b1a23a1374fc404009fc73d.tar.xz |
[src] verify that the variant signature defines a single complete type
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r-- | src/bridge_request.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/bridge_request.c b/src/bridge_request.c index 72c38bd..e7562e7 100644 --- a/src/bridge_request.c +++ b/src/bridge_request.c @@ -313,6 +313,11 @@ int bridge_request_dbus_params_element(bridge_request_t *self, return EINVAL; } vSig = json_object_get_string(tmp); + if (!dbus_signature_validate_single(vSig, 0)) { + bridge_request_error(self, + "invalid variant signature."); + return EINVAL; + } dbus_message_iter_open_container(it, type, vSig, &args); ret = bridge_request_dbus_params_array(self, |