summaryrefslogtreecommitdiff
path: root/android/ipc-tester.c
diff options
context:
space:
mode:
authorJakub Tyszkowski <jakub.tyszkowski@tieto.com>2014-01-20 10:36:07 +0100
committerSzymon Janc <szymon.janc@gmail.com>2014-01-20 23:23:28 +0100
commitd3b695dfa4e7b5d9c4be64d820836b3f2393abee (patch)
treee937327fb47333da4f3131af42745a47ede6ffef /android/ipc-tester.c
parentf11e2ee8d817b4f71942025c15a67da7b2957f22 (diff)
downloadbluez-d3b695dfa4e7b5d9c4be64d820836b3f2393abee.tar.gz
android/ipc-tester: Add more cases for malformed data
This patch adds tests for more types of possible data malformations.
Diffstat (limited to 'android/ipc-tester.c')
-rw-r--r--android/ipc-tester.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/android/ipc-tester.c b/android/ipc-tester.c
index c8bc9b8e6..db0a30ad4 100644
--- a/android/ipc-tester.c
+++ b/android/ipc-tester.c
@@ -581,6 +581,27 @@ struct regmod_msg register_bt_malformed_size_msg = {
},
};
+struct malformed_data3_struct {
+ struct regmod_msg valid_msg;
+ int redundant_data;
+} __attribute__((packed));
+
+static struct malformed_data3_struct malformed_data3_msg = {
+ /* valid register service message */
+ .valid_msg = {
+ .header = {
+ .service_id = HAL_SERVICE_ID_CORE,
+ .opcode = HAL_OP_REGISTER_MODULE,
+ .len = sizeof(struct hal_cmd_register_module),
+ },
+ .cmd = {
+ .service_id = HAL_SERVICE_ID_CORE,
+ },
+ },
+ /* plus redundant data */
+ . redundant_data = 666,
+};
+
struct hal_hdr enable_unknown_service_hdr = {
.service_id = HAL_SERVICE_ID_MAX + 1,
.opcode = HAL_OP_REGISTER_MODULE,
@@ -610,6 +631,18 @@ int main(int argc, char *argv[])
sizeof(register_bt_malformed_size_msg),
HAL_SERVICE_ID_BLUETOOTH);
+ test_generic("Malformed data2 (undersized msg)",
+ ipc_send_tc, setup, teardown,
+ &register_bt_msg,
+ sizeof(register_bt_msg) - 1,
+ HAL_SERVICE_ID_BLUETOOTH);
+
+ test_generic("Malformed data3 (oversized msg)",
+ ipc_send_tc, setup, teardown,
+ &malformed_data3_msg,
+ sizeof(malformed_data3_msg),
+ HAL_SERVICE_ID_BLUETOOTH);
+
test_generic("Invalid service",
ipc_send_tc, setup, teardown,
&enable_unknown_service_hdr,