2014-08-25 13:40:01

by Marcin Kraglak

[permalink] [raw]
Subject: [PATCH 1/2] android/client: Fix incorrect data parsing

Use fill_buffer function in processing write_characteristic
and send_indication functions.
---
android/client/if-gatt.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/android/client/if-gatt.c b/android/client/if-gatt.c
index 8154bfd..325f986 100644
--- a/android/client/if-gatt.c
+++ b/android/client/if-gatt.c
@@ -1191,11 +1191,12 @@ static void write_characteristic_p(int argc, const char **argv)
return;
}

- /* len in chars */
- len = strlen(argv[6]);
- scan_field(argv[6], len, value, sizeof(value));
- /* len in bytes converted from ascii chars */
- len = (len + 1) / 2;
+ if (strncmp(argv[6], "0X", 2) && strncmp(argv[6], "0x", 2)) {
+ haltest_error("Value must be hex string");
+ return;
+ }
+
+ len = fill_buffer(argv[6] + 2, value, sizeof(value));

/* auth_req */
if (argc > 7)
@@ -1791,8 +1792,12 @@ static void gatts_send_indication_p(int argc, const char *argv[])
confirm = atoi(argv[5]);

if (argc > 6) {
- len = strlen(argv[6]);
- scan_field(argv[6], len, (uint8_t *) data, sizeof(data));
+ if (strncmp(argv[6], "0X", 2) && strncmp(argv[6], "0x", 2)) {
+ haltest_error("Value must be hex string");
+ return;
+ }
+
+ len = fill_buffer(argv[6] + 2, data, sizeof(data));
}

EXEC(if_gatt->server->send_indication, server_if, attr_handle, conn_id,
--
1.9.3



2014-08-25 13:40:02

by Marcin Kraglak

[permalink] [raw]
Subject: [PATCH 2/2] android/pts: Update PTS GATT test results.

---
android/pts-gatt.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/android/pts-gatt.txt b/android/pts-gatt.txt
index 0220009..9d57007 100644
--- a/android/pts-gatt.txt
+++ b/android/pts-gatt.txt
@@ -468,8 +468,8 @@ TC_GAW_CL_BV_01_C PASS haltest:
handle from logs
gattc write_characteristic
gattc disconnect
-TC_GAW_CL_BV_02_C INC PTS issue #12446
- haltest:
+TC_GAW_CL_BV_02_C PASS haltest:
+ gattc connect
bluetooth create_bond
gattc disconnect
gattc connect
--
1.9.3