fuse3/0004-add-nullptr-check-in-fuse_session_mount.patch
yanshuai01 77518580ae add nullptr check in fuse_session_mount
(cherry picked from commit af44438c0d4e22753335ff7e7493c7b51c220e46)
2024-08-27 19:44:58 +08:00

50 lines
1.3 KiB
Diff

From f88e08f34d2d4f398f23797707e1c50cd306e405 Mon Sep 17 00:00:00 2001
From: Bernd Schubert <bschubert@ddn.com>
Date: Tue, 25 Jun 2024 07:05:19 +0200
Subject: [PATCH] Add nullptr check in fuse_session_mount
The pointer did not have any sanity check.
Addresses https://github.com/libfuse/libfuse/issues/979
---
lib/fuse_lowlevel.c | 5 +++++
lib/mount_util.c | 5 +++++
2 files changed, 10 insertions(+)
diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c
index fdef193..47c3065 100644
--- a/lib/fuse_lowlevel.c
+++ b/lib/fuse_lowlevel.c
@@ -3145,6 +3145,11 @@ int fuse_session_mount(struct fuse_session *se, const char *mountpoint)
{
int fd;
+ if (mountpoint == NULL) {
+ fuse_log(FUSE_LOG_ERR, "Invalid null-ptr mountpoint!\n");
+ return -1;
+ }
+
/*
* Make sure file descriptors 0, 1 and 2 are open, otherwise chaos
* would ensue.
diff --git a/lib/mount_util.c b/lib/mount_util.c
index 8027a2e..c90ba92 100644
--- a/lib/mount_util.c
+++ b/lib/mount_util.c
@@ -363,6 +363,11 @@ int fuse_mnt_parse_fuse_fd(const char *mountpoint)
int fd = -1;
int len = 0;
+ if (mountpoint == NULL) {
+ fprintf(stderr, "Invalid null-ptr mount-point!\n");
+ return -1;
+ }
+
if (sscanf(mountpoint, "/dev/fd/%u%n", &fd, &len) == 1 &&
len == strlen(mountpoint)) {
return fd;
--
2.27.0