Skip to content

Commit 073e45d

Browse files
authored
Fix SilkMarshal.GetMaxSizeOf not including null terminator for NativeStringEncoding.LPStr (dotnet#823)
1 parent e79e165 commit 073e45d

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/Core/Silk.NET.Core/Native/SilkMarshal.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ public static int GetMaxSizeOf(string? input, NativeStringEncoding encoding = Na
155155
=> encoding switch
156156
{
157157
NativeStringEncoding.BStr => -1,
158-
NativeStringEncoding.LPStr => ((input?.Length ?? 0) + 1) * Marshal.SystemMaxDBCSCharSize,
158+
NativeStringEncoding.LPStr => ((input?.Length ?? 0) + 1) * Marshal.SystemMaxDBCSCharSize + 1,
159159
NativeStringEncoding.LPTStr => (input is null ? 0 : Encoding.UTF8.GetMaxByteCount(input.Length)) + 1,
160160
NativeStringEncoding.LPUTF8Str => (input is null ? 0 : Encoding.UTF8.GetMaxByteCount(input.Length)) + 1,
161161
NativeStringEncoding.LPWStr => ((input?.Length ?? 0) + 1) * 2,

0 commit comments

Comments
 (0)