Index: drivers/filesystems/btrfs/reparse.c =================================================================== --- drivers/filesystems/btrfs/reparse.c (revision 72017) +++ drivers/filesystems/btrfs/reparse.c (working copy) @@ -243,6 +243,7 @@ static NTSTATUS set_symlink(PIRP Irp, fcb* fcb, REPARSE_DATA_BUFFER* rdb, ULONG buflen, LIST_ENTRY* rollback) { NTSTATUS Status; ULONG minlen; + ULONG tlength; UNICODE_STRING subname; ANSI_STRING target; KEY searchkey; @@ -410,7 +411,8 @@ } offset.QuadPart = 0; - Status = write_file2(fcb->Vcb, Irp, offset, target.Buffer, (ULONG*)&target.Length, Irp->Flags & IRP_PAGING_IO, Irp->Flags & IRP_NOCACHE, rollback); + tlength = target.Length; + Status = write_file2(fcb->Vcb, Irp, offset, target.Buffer, &tlength, Irp->Flags & IRP_PAGING_IO, Irp->Flags & IRP_NOCACHE, rollback); ExFreePool(target.Buffer);