diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lib/fuse.c | 9 |
2 files changed, 14 insertions, 0 deletions
@@ -1,3 +1,8 @@ +2005-10-07 Miklos Szeredi <miklos@szeredi.hu> + + * highlevel-lib: init() and destroy() methods didn't have an + initialized fuse_context. Bug reported by Tim Stoakes + 2005-10-04 Miklos Szeredi <miklos@szeredi.hu> * Released 2.4.0 @@ -564,6 +564,10 @@ static void reply_entry(fuse_req_t req, const struct fuse_entry_param *e, static void fuse_data_init(void *data) { struct fuse *f = (struct fuse *) data; + struct fuse_context *c = fuse_get_context(); + + memset(c, 0, sizeof(*c)); + c->fuse = f; if (f->op.init) f->user_data = f->op.init(); @@ -572,6 +576,11 @@ static void fuse_data_init(void *data) static void fuse_data_destroy(void *data) { struct fuse *f = (struct fuse *) data; + struct fuse_context *c = fuse_get_context(); + + memset(c, 0, sizeof(*c)); + c->fuse = f; + c->private_data = f->user_data; if (f->op.destroy) f->op.destroy(f->user_data); |