summaryrefslogtreecommitdiffstats
path: root/pcilib/property.c
diff options
context:
space:
mode:
authorVasilii Chernov <vchernov@inr.ru>2016-02-15 13:41:25 +0100
committerVasilii Chernov <vchernov@inr.ru>2016-02-15 13:41:25 +0100
commit398e756263502a98a0c1887dcf38f7ef1fafa84b (patch)
tree08383da800a8ea529ddad06648399920c27abbce /pcilib/property.c
parenta4f3ac0b00694287e791cd7d753b420976d9f22a (diff)
downloadpcitool-398e756263502a98a0c1887dcf38f7ef1fafa84b.tar.gz
pcitool-398e756263502a98a0c1887dcf38f7ef1fafa84b.tar.bz2
pcitool-398e756263502a98a0c1887dcf38f7ef1fafa84b.tar.xz
pcitool-398e756263502a98a0c1887dcf38f7ef1fafa84b.zip
Fix memory leaks
Add GIL states for int pcilib_script_read and pcilib_script_write functions Correct desctructor for create_pcilib_instance return object
Diffstat (limited to 'pcilib/property.c')
-rw-r--r--pcilib/property.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/pcilib/property.c b/pcilib/property.c
index a7d1a61..3a7ebb3 100644
--- a/pcilib/property.c
+++ b/pcilib/property.c
@@ -165,7 +165,6 @@ pcilib_property_info_t *pcilib_get_property_list(pcilib_t *ctx, const char *bran
continue;
}
-
dir = (struct dir_hash_s*)malloc(sizeof(struct dir_hash_s));
if (!dir) {
err = PCILIB_ERROR_MEMORY;
@@ -226,6 +225,12 @@ pcilib_property_info_t *pcilib_get_property_list(pcilib_t *ctx, const char *bran
};
}
+
+
+ HASH_ITER(hh, dir_hash, dir, dir_tmp) {
+ HASH_DEL(dir_hash, dir);
+ free(dir);
+ }
HASH_CLEAR(hh, dir_hash);
memset(&info[pos], 0, sizeof(pcilib_property_info_t));