diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2010-05-09 18:01:14 -0400 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2010-05-09 18:01:14 -0400 |
commit | e738a20cdaaeb765cdcec9ea27704126dbf9c6f3 (patch) | |
tree | adf8ea28b0fd2ba70c7280e2ae607ce34b5b5b93 | |
parent | 2e3cd35a7b8a3a1a39a38e1beec7205607b2e02b (diff) | |
download | gpsd-e738a20cdaaeb765cdcec9ea27704126dbf9c6f3.tar.gz |
Better detection of mangled checksums.
-rw-r--r-- | packet.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -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++) |