summaryrefslogtreecommitdiff
path: root/libgpsd_core.c
diff options
context:
space:
mode:
authorFred Wright <fw@fwright.net>2016-01-04 15:53:19 -0500
committerEric S. Raymond <esr@thyrsus.com>2016-01-04 15:53:19 -0500
commit97079198f48fc91302e2e247c223cd7804abd6ee (patch)
tree73711aae98d67ecad620a994e505a30678941854 /libgpsd_core.c
parent5d5b916de1e9b7c8d337f7b3f4dedb41692200ee (diff)
downloadgpsd-97079198f48fc91302e2e247c223cd7804abd6ee.tar.gz
Address bug #46495: gpsd_poll may crash due to unitialized pointer.
Diffstat (limited to 'libgpsd_core.c')
-rw-r--r--libgpsd_core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libgpsd_core.c b/libgpsd_core.c
index 31fec2ac..78b6bb90 100644
--- a/libgpsd_core.c
+++ b/libgpsd_core.c
@@ -305,6 +305,9 @@ void gpsd_init(struct gps_device_t *session, struct gps_context_t *context,
(void)strlcpy(session->gpsdata.dev.path, device,
sizeof(session->gpsdata.dev.path));
session->device_type = NULL; /* start by hunting packets */
+#ifdef RECONFIGURE_ENABLE
+ session->last_controller = NULL;
+#endif /* RECONFIGURE_ENABLE */
session->observed = 0;
session->sourcetype = source_unknown; /* gpsd_open() sets this */
session->servicetype = service_unknown; /* gpsd_open() sets this */