From 8027b8ac9647966b8e7c3daa56a8acb512323c65 Mon Sep 17 00:00:00 2001 From: Andreas Shimokawa Date: Tue, 24 Jan 2017 11:07:00 +0100 Subject: [PATCH] Pebble: fix potential crash when encoding appmessages with null values --- .../gadgetbridge/service/devices/pebble/PebbleProtocol.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/PebbleProtocol.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/PebbleProtocol.java index 6ef013bb..14ae5f9e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/PebbleProtocol.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/PebbleProtocol.java @@ -1846,6 +1846,8 @@ public class PebbleProtocol extends GBDeviceProtocol { byte[] encodeApplicationMessagePush(short endpoint, UUID uuid, ArrayList> pairs) { int length = LENGTH_UUID + 3; // UUID + (PUSH + id + length of dict) for (Pair pair : pairs) { + if (pair.first == null || pair.second == null) + continue; length += 7; // key + type + length if (pair.second instanceof Integer) { length += 4;