diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2005-01-12 22:51:26 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2005-01-12 22:51:26 +0000 |
commit | acf0e5c8f8191f2c393993fd40395ce60f356732 (patch) | |
tree | 04863d01ee85b397605b6fca7e54fc3cfc37db91 | |
parent | 87de5554c561351847d5afa218072aeca9d799c6 (diff) | |
download | gpsd-acf0e5c8f8191f2c393993fd40395ce60f356732.tar.gz |
Remove a minor memory leak.
-rw-r--r-- | libgps.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -21,6 +21,7 @@ struct gps_data_t *gps_open(const char *host, const char *port) port = DEFAULT_GPSD_PORT; if ((gpsdata->gps_fd = netlib_connectsock(host, port, "tcp")) < 0) { + free(gpsdata); errno = gpsdata->gps_fd; return NULL; } @@ -43,7 +44,9 @@ struct gps_data_t *gps_open(const char *host, const char *port) int gps_close(struct gps_data_t *gpsdata) /* close a gpsd connection */ { - return close(gpsdata->gps_fd); + int retval = close(gpsdata->gps_fd); + free(gpsdata); + return retval; } void gps_set_raw_hook(struct gps_data_t *gpsdata, void (*hook)(char *buf)) |