summaryrefslogtreecommitdiffstats
path: root/libmsi/libmsi-record.c
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2012-12-11 22:58:47 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2012-12-12 10:16:09 +0100
commit1717ae92ce57b18655c0a292f8ba3fd463841d60 (patch)
tree922e9c80262ca52c0f13a9945da2af0d7eae5097 /libmsi/libmsi-record.c
parent074c28a0f1c64be1cb5ee12a860872a2d56eedb9 (diff)
downloadmsitools-1717ae92ce57b18655c0a292f8ba3fd463841d60.tar.gz
msitools-1717ae92ce57b18655c0a292f8ba3fd463841d60.tar.xz
msitools-1717ae92ce57b18655c0a292f8ba3fd463841d60.zip
record: reset pointers in libmsi_free_field
Diffstat (limited to 'libmsi/libmsi-record.c')
-rw-r--r--libmsi/libmsi-record.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libmsi/libmsi-record.c b/libmsi/libmsi-record.c
index e436777..b2f983f 100644
--- a/libmsi/libmsi-record.c
+++ b/libmsi/libmsi-record.c
@@ -67,10 +67,14 @@ _libmsi_free_field (LibmsiField *field )
case LIBMSI_FIELD_TYPE_INT:
break;
case LIBMSI_FIELD_TYPE_WSTR:
- msi_free( field->u.szwVal);
+ g_free (field->u.szwVal);
+ field->u.szwVal = NULL;
break;
case LIBMSI_FIELD_TYPE_STREAM:
- IStream_Release( field->u.stream );
+ if (field->u.stream) {
+ IStream_Release( field->u.stream );
+ field->u.stream = NULL;
+ }
break;
default:
ERR ("Invalid field type %d\n", field->type);