From a0fce192be37b76da0d5c70cebe087f93447e383 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Tue, 16 May 2017 11:32:41 +0200 Subject: [PATCH] Fix #1383: pmxcfs: use memdb_tree_entry_free() Use the right destructor instead of g_free(), as it may contain another data pointer which needs freeing. --- data/src/cfs-plug-memdb.c | 7 +++---- data/src/dcdb.c | 1 + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/src/cfs-plug-memdb.c b/data/src/cfs-plug-memdb.c index c0619f9..cc12874 100644 --- a/data/src/cfs-plug-memdb.c +++ b/data/src/cfs-plug-memdb.c @@ -129,7 +129,7 @@ static int cfs_plug_memdb_getattr(cfs_plug_t *plug, const char *path, struct sta if (te) { tree_entry_stat(te, stbuf, cfs_is_quorate()); - g_free(te); + memdb_tree_entry_free(te); return 0; } @@ -192,7 +192,7 @@ static int cfs_plug_memdb_open(cfs_plug_t *plug, const char *path, struct fuse_f cfs_plug_memdb_t *mdb = (cfs_plug_memdb_t *)plug; if ((te = memdb_getattr(mdb->memdb, path))) { - g_free(te); + memdb_tree_entry_free(te); } else return -ENOENT; @@ -443,8 +443,7 @@ static int cfs_plug_memdb_utimens( } } - if (te) - g_free(te); + memdb_tree_entry_free(te); return res; } diff --git a/data/src/dcdb.c b/data/src/dcdb.c index df7b37a..66d1b0f 100644 --- a/data/src/dcdb.c +++ b/data/src/dcdb.c @@ -845,6 +845,7 @@ dcdb_deliver( } } } + memdb_tree_entry_free(te); } else if (msg_type == DCDB_MESSAGE_CFS_WRITE) { -- 2.39.2