[PATCH 4/6] Clear stale pointers after free

Anton Lundin glance at acc.umu.se
Mon Dec 29 15:25:57 PST 2014


This is so that we can re-use the same device_data_t in other calls that
doesn't allocate a context for example.

Signed-off-by: Anton Lundin <glance at acc.umu.se>
---
 libdivecomputer.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libdivecomputer.c b/libdivecomputer.c
index fed448c..a990a4f 100644
--- a/libdivecomputer.c
+++ b/libdivecomputer.c
@@ -854,10 +854,12 @@ const char *do_libdivecomputer_import(device_data_t *data)
 		err = do_device_import(data);
 		/* TODO: Show the logfile to the user on error. */
 		dc_device_close(data->device);
+		data->device = NULL;
 	} else if (subsurface_access(data->devname, R_OK | W_OK) != 0)
 		err = translate("gettextFromC", "Insufficient privileges to open the device %s %s (%s)");
 
 	dc_context_free(data->context);
+	data->context = NULL;
 
 	if (fp) {
 		fclose(fp);
-- 
2.1.0



More information about the subsurface mailing list