]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
libadouble: call vfs_stat() in ad_convert_finderinfo()
authorRalph Boehme <slow@samba.org>
Tue, 12 Jan 2021 10:59:33 +0000 (11:59 +0100)
committerJeremy Allison <jra@samba.org>
Thu, 14 Jan 2021 17:55:33 +0000 (17:55 +0000)
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/lib/adouble.c

index 060caa97edebf902252ac66b76b567496b1b6985..164f0c890b2027b86418e5bfe38df91609d2681d 100644 (file)
@@ -1205,6 +1205,7 @@ static bool ad_convert_finderinfo(vfs_handle_struct *handle,
        NTSTATUS status;
        int saved_errno = 0;
        int cmp;
+       int rc;
 
        cmp = memcmp(ad->ad_filler, AD_FILLER_TAG_OSX, ADEDLEN_FILLER);
        if (cmp != 0) {
@@ -1249,6 +1250,11 @@ static bool ad_convert_finderinfo(vfs_handle_struct *handle,
 
        DBG_DEBUG("stream_name: %s\n", smb_fname_str_dbg(stream_name));
 
+       rc = vfs_stat(handle->conn, stream_name);
+       if (rc == -1 && errno != ENOENT) {
+               return false;
+       }
+
        status = openat_pathref_fsp(handle->conn->cwd_fsp, stream_name);
        if (!NT_STATUS_IS_OK(status) &&
            !NT_STATUS_EQUAL(status, NT_STATUS_OBJECT_NAME_NOT_FOUND))