diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2010-05-28 18:35:13 +0200 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2010-06-03 17:08:10 +0200 |
commit | 72b474f99f238ccaf7c08524e993b42a960ad605 (patch) | |
tree | 02fe79d1f2e5680bf7076aa7ed52c033e5124ea2 | |
parent | b2eb06f47032c8d936674e93a0baa60ff4186033 (diff) | |
download | json-dbus-bridge-72b474f99f238ccaf7c08524e993b42a960ad605.tar.gz json-dbus-bridge-72b474f99f238ccaf7c08524e993b42a960ad605.tar.xz |
[src] stricter signature <-> parameter matching
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r-- | src/bridge_request.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/bridge_request.c b/src/bridge_request.c index 257cd61..b52f669 100644 --- a/src/bridge_request.c +++ b/src/bridge_request.c @@ -397,10 +397,16 @@ int bridge_request_dbus_params_array(bridge_request_t *self, element, &sigIt, it); if (ret != 0) return ret; - if (!dbus_signature_iter_next(&sigIt)) - break; + if (!dbus_signature_iter_next(&sigIt)) { + if (i+1 == len) + return 0; + bridge_request_error(self, + "Unexpected extra parameter found."); + return EINVAL; + } } - return 0; + bridge_request_error(self, "Aditional parameter expexted."); + return EINVAL; } int bridge_request_dbus_params(bridge_request_t *self, |