Windows: FSCTL_SET_REPARSE_POINT error
authorJeffrey Altman <jaltman@your-file-system.com>
Thu, 10 Nov 2011 03:47:55 +0000 (22:47 -0500)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 10 Nov 2011 21:02:40 +0000 (13:02 -0800)
According to MS_FSCC 2.3.54 if the input buffer length is less than the size
of a REPARSE_DATA_BUFFER structure, or the input buffer length is greater
than 16,384, or a REPARSE_DATA_BUFFER structure has been specified for a
third party reparse tag, or the GUID specified for a third party reparse tag
does not match the GUID known by the operating system for this reparse
point, or the reparse tag is 0 or 1, then the return status shall be
STATUS_IO_REPARSE_DATA_INVALID.

Change-Id: I0072902afc8bc354af8f9b84b1021b37191dc23a
Reviewed-on: http://gerrit.openafs.org/5828
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

src/WINNT/afsrdr/kernel/lib/AFSFSControl.cpp

index 07ad868..2854eb5 100644 (file)
@@ -589,7 +589,7 @@ AFSProcessUserFsRequest( IN PIRP Irp)
                 if( ulInputBufferLen < FIELD_OFFSET( REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer.DataBuffer))
                 {
 
-                    ntStatus = STATUS_INVALID_PARAMETER;
+                    ntStatus = STATUS_IO_REPARSE_DATA_INVALID;
 
                     break;
                 }