From: Jeremy Allison Date: Thu, 24 May 2007 01:57:02 +0000 (+0000) Subject: r23107: Fix renames on file descriptors that are supposed to overwrite the X-Git-Tag: samba-4.0.0alpha6~801^2~5792 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4aa857d875663f39740b4667fc7852a530536660;p=thirdparty%2Fsamba.git r23107: Fix renames on file descriptors that are supposed to overwrite the target. Needs merging for 3.0.25a (sorry). Jeremy. (This used to be commit a56bce3d44e89b4fd7806cc5b464c7481ec0197f) --- diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 98976dd39d2..40311758c9d 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -4245,9 +4245,10 @@ NTSTATUS rename_internals_fsp(connection_struct *conn, files_struct *fsp, pstrin ZERO_STRUCT(sbuf); status = unix_convert(conn, newname, False, newname_last_component, &sbuf); - /* We expect this to be NT_STATUS_OBJECT_PATH_NOT_FOUND */ - if (!NT_STATUS_EQUAL(NT_STATUS_OBJECT_PATH_NOT_FOUND, status)) { - return NT_STATUS_OBJECT_NAME_COLLISION; + + /* If an error we expect this to be NT_STATUS_OBJECT_PATH_NOT_FOUND */ + + if (!NT_STATUS_IS_OK(status) && !NT_STATUS_EQUAL(NT_STATUS_OBJECT_PATH_NOT_FOUND, status)) { return status; }