diff --git a/core/save-xml.c b/core/save-xml.c index 9f3dc60ce..e2ffb7e7f 100644 --- a/core/save-xml.c +++ b/core/save-xml.c @@ -609,12 +609,14 @@ static void save_one_device(struct membuffer *b, const struct device *d) static void save_one_fingerprint(struct membuffer *b, int i) { + const char *data = fp_get_data(&fingerprint_table, i); put_format(b, "\n", fp_get_model(&fingerprint_table, i), fp_get_serial(&fingerprint_table, i), fp_get_deviceid(&fingerprint_table, i), fp_get_diveid(&fingerprint_table, i), - fp_get_data(&fingerprint_table, i)); + data); + free((void *)data); } int save_dives(const char *filename)