From f34bc166b1b2e804d2fba920043f1c2b20ca6296 Mon Sep 17 00:00:00 2001 From: Antonio SJ Musumeci Date: Mon, 9 Mar 2026 22:40:46 -0500 Subject: [PATCH] Add null pointer checks for FileInfo/DirInfo --- src/fuse_copy_file_range.cpp | 5 +++++ src/fuse_flush.cpp | 3 +++ src/fuse_fsync.cpp | 3 +++ src/fuse_fsyncdir.cpp | 3 +++ 4 files changed, 14 insertions(+) diff --git a/src/fuse_copy_file_range.cpp b/src/fuse_copy_file_range.cpp index 300b8359..c186e046 100644 --- a/src/fuse_copy_file_range.cpp +++ b/src/fuse_copy_file_range.cpp @@ -60,6 +60,11 @@ FUSE::copy_file_range(const fuse_req_ctx_t *ctx_, FileInfo *src_fi = FileInfo::from_fh(src_ffi_->fh); FileInfo *dst_fi = FileInfo::from_fh(dst_ffi_->fh); + if(not src_fi) + return -EBADF; + if(not dst_fi) + return -EBADF; + return ::_copy_file_range(src_fi->fd, src_off_, dst_fi->fd, diff --git a/src/fuse_flush.cpp b/src/fuse_flush.cpp index 8aa3d788..666c8fb3 100644 --- a/src/fuse_flush.cpp +++ b/src/fuse_flush.cpp @@ -45,5 +45,8 @@ FUSE::flush(const fuse_req_ctx_t *ctx_, { FileInfo *fi = FileInfo::from_fh(ffi_->fh); + if(not fi) + return -EBADF; + return ::_flush(fi->fd); } diff --git a/src/fuse_fsync.cpp b/src/fuse_fsync.cpp index 9dc18ddd..8ae48331 100644 --- a/src/fuse_fsync.cpp +++ b/src/fuse_fsync.cpp @@ -51,5 +51,8 @@ FUSE::fsync(const fuse_req_ctx_t *ctx_, { FileInfo *fi = FileInfo::from_fh(fh_); + if(not fi) + return -EBADF; + return ::_fsync(fi->fd,isdatasync_); } diff --git a/src/fuse_fsyncdir.cpp b/src/fuse_fsyncdir.cpp index fcb17cef..1079b62f 100644 --- a/src/fuse_fsyncdir.cpp +++ b/src/fuse_fsyncdir.cpp @@ -43,5 +43,8 @@ FUSE::fsyncdir(const fuse_req_ctx_t *ctx_, { DirInfo *di = DirInfo::from_fh(ffi_->fh); + if(not di) + return -EBADF; + return ::_fsyncdir(di,isdatasync_); }