From df0d0552b2ee8affe92f7a0d457f67557d10dc57 Mon Sep 17 00:00:00 2001 From: Antonio SJ Musumeci Date: Tue, 16 Apr 2019 22:13:32 -0400 Subject: [PATCH] fix outarg size calculation to accomidate newer fuse_kernel.h on older platforms --- libfuse/lib/fuse_lowlevel.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libfuse/lib/fuse_lowlevel.c b/libfuse/lib/fuse_lowlevel.c index 62bbf26e..4be9b1c9 100644 --- a/libfuse/lib/fuse_lowlevel.c +++ b/libfuse/lib/fuse_lowlevel.c @@ -1889,7 +1889,15 @@ static void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) outarg.congestion_threshold); } - send_reply_ok(req, &outarg, arg->minor < 5 ? 8 : sizeof(outarg)); + size_t outargsize; + if(arg->minor < 5) + outargsize = FUSE_COMPAT_INIT_OUT_SIZE; + else if(arg->minor < 23) + outargsize = FUSE_COMPAT_22_INIT_OUT_SIZE; + else + outargsize = sizeof(outarg); + + send_reply_ok(req, &outarg, outargsize); } static void do_destroy(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)