summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2010-05-09 18:01:14 -0400
committerEric S. Raymond <esr@thyrsus.com>2010-05-09 18:01:14 -0400
commite738a20cdaaeb765cdcec9ea27704126dbf9c6f3 (patch)
treeadf8ea28b0fd2ba70c7280e2ae607ce34b5b5b93
parent2e3cd35a7b8a3a1a39a38e1beec7205607b2e02b (diff)
downloadgpsd-e738a20cdaaeb765cdcec9ea27704126dbf9c6f3.tar.gz
Better detection of mangled checksums.
-rw-r--r--packet.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/packet.c b/packet.c
index 6042bac8..147a5933 100644
--- a/packet.c
+++ b/packet.c
@@ -1138,7 +1138,8 @@ void packet_parse(struct gps_packet_t *lexer)
*/
for (end = (char *)lexer->inbufptr - 1; isspace(*end); end--)
continue;
- end -= 2;
+ while (strchr("0123456789ABCDEF", *end))
+ --end;
if (*end == '*') {
unsigned int n, crc = 0;
for (n = 1; (char *)lexer->inbuffer + n < end; n++)