diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2012-05-18 03:50:23 -0400 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2012-05-18 03:50:23 -0400 |
commit | c46e369a26bb693e744206979ee9d8674c27f1da (patch) | |
tree | 31b115597d41465c9e56b3960e0b4dc4d786751f /driver_nmea0183.c | |
parent | 16b646d8107ae677110353dd52639df9a9d3d213 (diff) | |
download | gpsd-c46e369a26bb693e744206979ee9d8674c27f1da.tar.gz |
Fix a cppcheck warning about possible field overflows.
All regression tests pass.
Diffstat (limited to 'driver_nmea0183.c')
-rw-r--r-- | driver_nmea0183.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/driver_nmea0183.c b/driver_nmea0183.c index 6b46b0f2..5e6c84dd 100644 --- a/driver_nmea0183.c +++ b/driver_nmea0183.c @@ -27,7 +27,7 @@ static void do_lat_lon(char *field[], struct gps_fix_t *out) if (*(p = field[0]) != '\0') { (void)strlcpy(str, p, sizeof(str)); - (void)sscanf(p, "%lf", &lat); + lat = atof(str); m = 100.0 * modf(lat / 100.0, &d); lat = d + m / 60.0; p = field[1]; @@ -37,7 +37,7 @@ static void do_lat_lon(char *field[], struct gps_fix_t *out) } if (*(p = field[2]) != '\0') { (void)strlcpy(str, p, sizeof(str)); - (void)sscanf(p, "%lf", &lon); + lon = atof(str); m = 100.0 * modf(lon / 100.0, &d); lon = d + m / 60.0; @@ -553,7 +553,7 @@ static gps_mask_t processGPGSV(int count, char *field[], } session->driver.nmea.await = atoi(field[1]); - if (sscanf(field[2], "%d", &session->driver.nmea.part) < 1) { + if ((session->driver.nmea.part = atoi(field[2])) < 1) { gpsd_report(LOG_WARN, "malformed GPGSV - bad part\n"); gpsd_zero_satellites(&session->gpsdata); return ONLINE_SET; |