[s3] vfs_fruit: CID 1416478, 1416477, 1416476, 1416475

Swen Schillig swen at vnet.ibm.com
Wed Jun 13 07:11:56 UTC 2018


Thanks Christof

On Tue, 2018-06-12 at 10:55 -0700, Christof Schmitt wrote:
> On Fri, May 25, 2018 at 12:51:44PM +0200, Swen Schillig via samba-
> technical wrote:
> 
> Please use DBG_ERR instead of D_ERR, otherwise this looks good to me.

Patches are updated.

Any second reviewer, please ?

Cheers Swen
-------------- next part --------------
From 9e4d141aec4e00e4ae7a6c70d8277cea11e6a767 Mon Sep 17 00:00:00 2001
From: Swen Schillig <swen at vnet.ibm.com>
Date: Fri, 25 May 2018 11:32:38 +0200
Subject: [PATCH 1/4] [s3] CID 1416478: de-ref NULL value in fruit_pwrite_rsrc

Signed-off-by: Swen Schillig <swen at vnet.ibm.com>
---
 source3/modules/vfs_fruit.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c
index df3cd0c899e..956739dd5af 100644
--- a/source3/modules/vfs_fruit.c
+++ b/source3/modules/vfs_fruit.c
@@ -4405,6 +4405,11 @@ static ssize_t fruit_pwrite_rsrc(vfs_handle_struct *handle,
 	struct fio *fio = (struct fio *)VFS_FETCH_FSP_EXTENSION(handle, fsp);
 	ssize_t nwritten;
 
+	if (fio == NULL) {
+		DBG_ERR("Failed to fetch fsp extension");
+		return -1;
+	}
+
 	switch (fio->config->rsrc) {
 	case FRUIT_RSRC_STREAM:
 		nwritten = fruit_pwrite_rsrc_stream(handle, fsp, data, n, offset);
-- 
2.14.4


From fbce6b13ecdbf0f6e00c86990e092756168357fa Mon Sep 17 00:00:00 2001
From: Swen Schillig <swen at vnet.ibm.com>
Date: Fri, 25 May 2018 11:39:50 +0200
Subject: [PATCH 2/4] [s3] CID 1416477: possibly dereferencing NULL in
 fruit_pwrite_meta

Signed-off-by: Swen Schillig <swen at vnet.ibm.com>
---
 source3/modules/vfs_fruit.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c
index 956739dd5af..ec49e24817d 100644
--- a/source3/modules/vfs_fruit.c
+++ b/source3/modules/vfs_fruit.c
@@ -4328,6 +4328,11 @@ static ssize_t fruit_pwrite_meta(vfs_handle_struct *handle,
 		return -1;
 	}
 
+	if (fio == NULL) {
+		DBG_ERR("Failed to fetch fsp extension");
+		return -1;
+	}
+
 	switch (fio->config->meta) {
 	case FRUIT_META_STREAM:
 		nwritten = fruit_pwrite_meta_stream(handle, fsp, data,
-- 
2.14.4


From dc4d4e57b91e7570ffb6d44ef89d4f5ce2e795d9 Mon Sep 17 00:00:00 2001
From: Swen Schillig <swen at vnet.ibm.com>
Date: Fri, 25 May 2018 12:43:42 +0200
Subject: [PATCH 3/4] [s3] CID 1416476: possibly dereferencing NULL in
 fruit_ftruncate_rsrc

Signed-off-by: Swen Schillig <swen at vnet.ibm.com>
---
 source3/modules/vfs_fruit.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c
index ec49e24817d..b1384c47850 100644
--- a/source3/modules/vfs_fruit.c
+++ b/source3/modules/vfs_fruit.c
@@ -5501,6 +5501,11 @@ static int fruit_ftruncate_rsrc(struct vfs_handle_struct *handle,
 	struct fio *fio = (struct fio *)VFS_FETCH_FSP_EXTENSION(handle, fsp);
 	int ret;
 
+	if (fio == NULL) {
+		DBG_ERR("Failed to fetch fsp extension");
+		return -1;
+	}
+
 	switch (fio->config->rsrc) {
 	case FRUIT_RSRC_XATTR:
 		ret = fruit_ftruncate_rsrc_xattr(handle, fsp, offset);
-- 
2.14.4


From be97b643850087e92333008883b024a63bc617ee Mon Sep 17 00:00:00 2001
From: Swen Schillig <swen at vnet.ibm.com>
Date: Fri, 25 May 2018 12:45:35 +0200
Subject: [PATCH 4/4] [s3] CID 1416475: possibly dereferencing NULL in
 fruit_pread_meta

Signed-off-by: Swen Schillig <swen at vnet.ibm.com>
---
 source3/modules/vfs_fruit.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c
index b1384c47850..078426290a4 100644
--- a/source3/modules/vfs_fruit.c
+++ b/source3/modules/vfs_fruit.c
@@ -4002,6 +4002,11 @@ static ssize_t fruit_pread_meta(vfs_handle_struct *handle,
 		return 0;
 	}
 
+	if (fio == NULL) {
+		DBG_ERR("Failed to fetch fsp extension");
+		return -1;
+	}
+
 	/* Yes, macOS always reads from offset 0 */
 	offset = 0;
 	to_return = MIN(n, AFP_INFO_SIZE);
-- 
2.14.4



More information about the samba-technical mailing list