diff --git a/libfuse-lite/fuse.c b/libfuse-lite/fuse.c index 52ff8d4d..256bed0f 100644 --- a/libfuse-lite/fuse.c +++ b/libfuse-lite/fuse.c @@ -2781,8 +2781,10 @@ static void fuse_lib_ioctl(fuse_req_t req, fuse_ino_t ino, int cmd, void *arg, fuse_finish_interrupt(f, req, &d); free(path); - fuse_reply_ioctl(req, err, out_buf, out_bufsz); + if (err >= 0) { /* not an error */ + fuse_reply_ioctl(req, err, out_buf, out_bufsz); goto out; + } err: reply_err(req, err); out: