Fix SIGSEGV when fuse_interrupted() is called outside the eventloop
authorAlexander <aleksandr.rvachev@eltex-co.ru>
Mon, 9 Jul 2018 10:21:32 +0000 (17:21 +0700)
committerNikolaus Rath <Nikolaus@rath.org>
Mon, 9 Jul 2018 15:50:42 +0000 (16:50 +0100)
lib/fuse.c

index 5f7ed5c5dcb451b4c07913503d03b64d5fb95c21..c3ffb6c9e63d462c8929075429c2adf945d3f318 100644 (file)
@@ -4417,7 +4417,9 @@ int fuse_getgroups(int size, gid_t list[])
 
 int fuse_interrupted(void)
 {
-       return fuse_req_interrupted(fuse_get_context_internal()->req);
+       struct fuse_context_i *c = fuse_get_context_internal();
+
+       return c->req ? fuse_req_interrupted(c->req) : 0;
 }
 
 void fuse_set_getcontext_func(struct fuse_context *(*func)(void))