]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
pysmbd: use parent_pathref() in py_smbd_mkdir()
authorRalph Boehme <slow@samba.org>
Mon, 25 Jan 2021 14:51:05 +0000 (15:51 +0100)
committerJeremy Allison <jra@samba.org>
Thu, 28 Jan 2021 08:11:49 +0000 (08:11 +0000)
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/smbd/pysmbd.c

index 042e31b79d6abed2d25b08e89a18c66cb914de9b..fdc8cd7e022f06da021f7bddae2088c93df6440d 100644 (file)
@@ -1031,7 +1031,6 @@ static PyObject *py_smbd_mkdir(PyObject *self, PyObject *args, PyObject *kwargs)
        NTSTATUS status;
        int ret;
        mode_t saved_umask;
-       bool ok;
 
        if (!PyArg_ParseTupleAndKeywords(args,
                                         kwargs,
@@ -1080,21 +1079,11 @@ static PyObject *py_smbd_mkdir(PyObject *self, PyObject *args, PyObject *kwargs)
                return NULL;
        }
 
-       ok = parent_smb_fname(frame,
-                             smb_fname,
-                             &parent_fname,
-                             &base_name);
-       if (!ok) {
-               TALLOC_FREE(frame);
-               return NULL;
-       }
-
-       ret = vfs_stat(conn, parent_fname);
-       if (ret == -1) {
-               TALLOC_FREE(frame);
-               return NULL;
-       }
-       status = openat_pathref_fsp(conn->cwd_fsp, parent_fname);
+       status = parent_pathref(talloc_tos(),
+                               conn->cwd_fsp,
+                               smb_fname,
+                               &parent_fname,
+                               &base_name);
        if (!NT_STATUS_IS_OK(status)) {
                TALLOC_FREE(frame);
                return NULL;