From 010dfbf1fd26718ad197e3428ed0b03111f6c9e5 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 16 Oct 2009 16:37:20 -0700 Subject: Fix one missing STAT -> LSTAT with POSIX pathnames in vfs_xattr_tdb.c. Caught by the torture tester. I love unit tests :-). Jeremy. --- source3/modules/vfs_xattr_tdb.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'source3/modules') diff --git a/source3/modules/vfs_xattr_tdb.c b/source3/modules/vfs_xattr_tdb.c index 55fb1417b7..f7fbfce4cb 100644 --- a/source3/modules/vfs_xattr_tdb.c +++ b/source3/modules/vfs_xattr_tdb.c @@ -630,9 +630,15 @@ static int xattr_tdb_unlink(vfs_handle_struct *handle, return -1; } - if (SMB_VFS_STAT(handle->conn, smb_fname_tmp) == -1) { + if (lp_posix_pathnames()) { + ret = SMB_VFS_LSTAT(handle->conn, smb_fname_tmp); + } else { + ret = SMB_VFS_STAT(handle->conn, smb_fname_tmp); + } + if (ret == -1) { goto out; } + if (smb_fname_tmp->st.st_ex_nlink == 1) { /* Only remove record on last link to file. */ remove_record = true; -- cgit