From: leipeng Date: Fri, 11 Oct 2024 07:54:14 +0000 (+0800) Subject: fuse_buf_size fix for SIZE_MAX X-Git-Tag: fuse-3.17.1-rc0~59 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=fdafc1d1c62c01a59bd6f9a5ba46d7c22322b99d;p=qemu-gpiodev%2Flibfuse.git fuse_buf_size fix for SIZE_MAX --- diff --git a/lib/buffer.c b/lib/buffer.c index 4f2f491..6375433 100644 --- a/lib/buffer.c +++ b/lib/buffer.c @@ -25,10 +25,10 @@ size_t fuse_buf_size(const struct fuse_bufvec *bufv) size_t size = 0; for (i = 0; i < bufv->count; i++) { - if (bufv->buf[i].size == SIZE_MAX) - size = SIZE_MAX; - else - size += bufv->buf[i].size; + if (bufv->buf[i].size >= SIZE_MAX - size) + return SIZE_MAX; + + size += bufv->buf[i].size; } return size;