From 773d42375dbce1ae64af6fdf2dbb04ad611f94d0 Mon Sep 17 00:00:00 2001 From: Tal Aloni Date: Sat, 6 Jul 2024 17:29:20 +0300 Subject: [PATCH] SMB2: CreateContext: Bugfix: Correct Name and Data offset write location --- SMBLibrary/SMB2/Structures/CreateContext.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SMBLibrary/SMB2/Structures/CreateContext.cs b/SMBLibrary/SMB2/Structures/CreateContext.cs index f0037c1..e071740 100644 --- a/SMBLibrary/SMB2/Structures/CreateContext.cs +++ b/SMBLibrary/SMB2/Structures/CreateContext.cs @@ -59,12 +59,12 @@ namespace SMBLibrary.SMB2 NameLength = (ushort)Name.Length; if (Name.Length > 0) { - NameOffset = (ushort)FixedLength; + NameOffset = FixedLength; } LittleEndianWriter.WriteUInt16(buffer, offset + 4, NameOffset); LittleEndianWriter.WriteUInt16(buffer, offset + 6, NameLength); LittleEndianWriter.WriteUInt16(buffer, offset + 8, Reserved); - DataOffset = 0; + DataOffset = (ushort)(FixedLength + NameLength); DataLength = (uint)Data.Length; if (Data.Length > 0) { @@ -72,8 +72,8 @@ namespace SMBLibrary.SMB2 DataOffset = (ushort)(FixedLength + paddedNameLength); } LittleEndianWriter.WriteUInt16(buffer, offset + 10, DataOffset); - ByteWriter.WriteAnsiString(buffer, NameOffset, Name); - ByteWriter.WriteBytes(buffer, DataOffset, Data); + ByteWriter.WriteAnsiString(buffer, offset + NameOffset, Name); + ByteWriter.WriteBytes(buffer, offset + DataOffset, Data); } public int Length