Pablo Greco f96aff
From 2a7a76a501601506fa997f91651da1facba2e610 Mon Sep 17 00:00:00 2001
Pablo Greco f96aff
From: Jeremy Allison <jra@samba.org>
Pablo Greco f96aff
Date: Tue, 21 Aug 2018 12:05:34 -0700
Pablo Greco f96aff
Subject: [PATCH] s3: smbd: Ensure get_real_filename() copes with empty
Pablo Greco f96aff
 pathnames.
Pablo Greco f96aff
Pablo Greco f96aff
Needed for vfs_glusterfs, as Gluster requires "." not '\0'.
Pablo Greco f96aff
Pablo Greco f96aff
Based on a fix from Anoop C S <anoopcs@redhat.com>
Pablo Greco f96aff
Pablo Greco f96aff
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13585
Pablo Greco f96aff
Pablo Greco f96aff
Signed-off-by: Jeremy Allison <jra@samba.org>
Pablo Greco f96aff
Reviewed-by: Ira Cooper <ira@samba.org>
Pablo Greco f96aff
Pablo Greco f96aff
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Pablo Greco f96aff
Autobuild-Date(master): Wed Aug 22 21:50:41 CEST 2018 on sn-devel-144
Pablo Greco f96aff
Pablo Greco f96aff
(cherry picked from commit 9c71f61ed8a31d287d343d4f2e68cb40c57a2b89)
Pablo Greco f96aff
---
Pablo Greco f96aff
 source3/smbd/filename.c | 5 +++++
Pablo Greco f96aff
 1 file changed, 5 insertions(+)
Pablo Greco f96aff
Pablo Greco f96aff
diff --git a/source3/smbd/filename.c b/source3/smbd/filename.c
Pablo Greco f96aff
index 9e15af1916d..41c1710351e 100644
Pablo Greco f96aff
--- a/source3/smbd/filename.c
Pablo Greco f96aff
+++ b/source3/smbd/filename.c
Pablo Greco f96aff
@@ -1443,6 +1443,11 @@ int get_real_filename(connection_struct *conn, const char *path,
Pablo Greco f96aff
 	int ret;
Pablo Greco f96aff
 	bool mangled;
Pablo Greco f96aff
 
Pablo Greco f96aff
+	/* handle null paths */
Pablo Greco f96aff
+	if ((path == NULL) || (*path == 0)) {
Pablo Greco f96aff
+		path = ".";
Pablo Greco f96aff
+	}
Pablo Greco f96aff
+
Pablo Greco f96aff
 	mangled = mangle_is_mangled(name, conn->params);
Pablo Greco f96aff
 
Pablo Greco f96aff
 	if (mangled) {
Pablo Greco f96aff
-- 
Pablo Greco f96aff
2.18.0.1017.ga543ac7ca45-goog
Pablo Greco f96aff