diff options
author | Christian Menges <christian.menges@tum.de> | 2021-05-09 12:12:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-09 11:12:01 +0100 |
commit | 7d1ba6b066cee563e1b52f712146bd2b322ef2ef (patch) | |
tree | 92f9abf9c618515414af7f9c9e5335258c9ecd8b /example/passthrough_ll.c | |
parent | 995d46a205faba0fa81bded8a6d48dd533b69b57 (diff) | |
download | libfuse-7d1ba6b066cee563e1b52f712146bd2b322ef2ef.tar.gz |
Fix memory leaks in examples (#604)
Diffstat (limited to 'example/passthrough_ll.c')
-rw-r--r-- | example/passthrough_ll.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/example/passthrough_ll.c b/example/passthrough_ll.c index 0e7535c..8fdf887 100644 --- a/example/passthrough_ll.c +++ b/example/passthrough_ll.c @@ -171,6 +171,17 @@ static void lo_init(void *userdata, } } +static void lo_destroy(void *userdata) +{ + struct lo_data *lo = (struct lo_data*) userdata; + + while (lo->root.next != &lo->root) { + struct lo_inode* next = lo->root.next; + lo->root.next = next->next; + free(next); + } +} + static void lo_getattr(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi) { @@ -1113,6 +1124,7 @@ static void lo_lseek(fuse_req_t req, fuse_ino_t ino, off_t off, int whence, static const struct fuse_lowlevel_ops lo_oper = { .init = lo_init, + .destroy = lo_destroy, .lookup = lo_lookup, .mkdir = lo_mkdir, .mknod = lo_mknod, |