From 4d064cb7963907920bc324e85e246677df590cca Mon Sep 17 00:00:00 2001 From: Rick Sellens Date: Wed, 17 Apr 2019 12:23:58 -0400 Subject: [PATCH] test parse string for $ --- Adafruit_GPS.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Adafruit_GPS.cpp b/Adafruit_GPS.cpp index 4f0214a..4f84a8a 100755 --- a/Adafruit_GPS.cpp +++ b/Adafruit_GPS.cpp @@ -62,12 +62,16 @@ boolean Adafruit_GPS::parse(char *nmea) { uint16_t sum = parseHex(*(ast+1)) * 16; sum += parseHex(*(ast+2)); // check checksum - for (char *p = strchr(nmea,'$')+1; p < ast; p++) { - sum ^= *p; - } - if (sum != 0) { - // bad checksum :( - return false; + char *p = strchr(nmea,'$'); + if(p == NULL) return false; + else{ + for (char *p1 = p+1; p1 < ast; p1++) { + sum ^= *p1; + } + if (sum != 0) { + // bad checksum :( + return false; + } } } else { return false;