@@ -54,7 +54,9 @@ public unsafe string Value
5454 var status = NativeInterface . ExtendedData . GetValue (
5555 Handle , out IntPtr value ) ;
5656 status . ThrowIfError ( ) ;
57- return Marshal . PtrToStringAnsi ( value ) ;
57+ var data = Marshal . PtrToStringAnsi ( value ) ;
58+ NativeInterface . Memory . FreeIntPtr ( value ) ;
59+ return data ;
5860 }
5961 }
6062
@@ -134,7 +136,9 @@ public unsafe string ObjectId
134136 var status = NativeInterface . PlaintextBallotSelection . GetObjectId (
135137 Handle , out IntPtr value ) ;
136138 status . ThrowIfError ( ) ;
137- return Marshal . PtrToStringAnsi ( value ) ;
139+ var data = Marshal . PtrToStringAnsi ( value ) ;
140+ NativeInterface . Memory . FreeIntPtr ( value ) ;
141+ return data ;
138142 }
139143 }
140144
@@ -273,7 +277,9 @@ public unsafe string ObjectId
273277 var status = NativeInterface . CiphertextBallotSelection . GetObjectId (
274278 Handle , out IntPtr value ) ;
275279 status . ThrowIfError ( ) ;
276- return Marshal . PtrToStringAnsi ( value ) ;
280+ var data = Marshal . PtrToStringAnsi ( value ) ;
281+ NativeInterface . Memory . FreeIntPtr ( value ) ;
282+ return data ;
277283 }
278284 }
279285
@@ -458,7 +464,9 @@ public unsafe string ObjectId
458464 var status = NativeInterface . PlaintextBallotContest . GetObjectId (
459465 Handle , out IntPtr value ) ;
460466 status . ThrowIfError ( ) ;
461- return Marshal . PtrToStringAnsi ( value ) ;
467+ var data = Marshal . PtrToStringAnsi ( value ) ;
468+ NativeInterface . Memory . FreeIntPtr ( value ) ;
469+ return data ;
462470 }
463471 }
464472
@@ -575,7 +583,9 @@ public unsafe string ObjectId
575583 var status = NativeInterface . CiphertextBallotContest . GetObjectId (
576584 Handle , out IntPtr value ) ;
577585 status . ThrowIfError ( ) ;
578- return Marshal . PtrToStringAnsi ( value ) ;
586+ var data = Marshal . PtrToStringAnsi ( value ) ;
587+ NativeInterface . Memory . FreeIntPtr ( value ) ;
588+ return data ;
579589 }
580590 }
581591
@@ -780,7 +790,9 @@ public unsafe string ObjectId
780790 var status = NativeInterface . PlaintextBallot . GetObjectId (
781791 Handle , out IntPtr value ) ;
782792 status . ThrowIfError ( ) ;
783- return Marshal . PtrToStringAnsi ( value ) ;
793+ var data = Marshal . PtrToStringAnsi ( value ) ;
794+ NativeInterface . Memory . FreeIntPtr ( value ) ;
795+ return data ;
784796 }
785797 }
786798
@@ -796,7 +808,9 @@ public unsafe string StyleId
796808 var status = NativeInterface . PlaintextBallot . GetStyleId (
797809 Handle , out IntPtr value ) ;
798810 status . ThrowIfError ( ) ;
799- return Marshal . PtrToStringAnsi ( value ) ;
811+ var data = Marshal . PtrToStringAnsi ( value ) ;
812+ NativeInterface . Memory . FreeIntPtr ( value ) ;
813+ return data ;
800814 }
801815 }
802816
@@ -895,7 +909,8 @@ public unsafe string ToJson()
895909 var status = NativeInterface . PlaintextBallot . ToJson (
896910 Handle , out IntPtr pointer , out ulong size ) ;
897911 status . ThrowIfError ( ) ;
898- var json = Marshal . PtrToStringAnsi ( pointer ) ;
912+ var json = Marshal . PtrToStringAnsi ( pointer , ( int ) size ) ;
913+ NativeInterface . Memory . FreeIntPtr ( pointer ) ;
899914 return json ;
900915 }
901916
@@ -1043,7 +1058,9 @@ public unsafe string ObjectId
10431058 var status = NativeInterface . CiphertextBallot . GetObjectId (
10441059 Handle , out IntPtr value ) ;
10451060 status . ThrowIfError ( ) ;
1046- return Marshal . PtrToStringAnsi ( value ) ;
1061+ var data = Marshal . PtrToStringAnsi ( value ) ;
1062+ NativeInterface . Memory . FreeIntPtr ( value ) ;
1063+ return data ;
10471064 }
10481065 }
10491066
@@ -1059,7 +1076,9 @@ public unsafe string StyleId
10591076 var status = NativeInterface . CiphertextBallot . GetStyleId (
10601077 Handle , out IntPtr value ) ;
10611078 status . ThrowIfError ( ) ;
1062- return Marshal . PtrToStringAnsi ( value ) ;
1079+ var data = Marshal . PtrToStringAnsi ( value ) ;
1080+ NativeInterface . Memory . FreeIntPtr ( value ) ;
1081+ return data ;
10631082 }
10641083 }
10651084
@@ -1223,7 +1242,8 @@ public unsafe string ToJson(bool withNonces = false)
12231242 : NativeInterface . CiphertextBallot . ToJson (
12241243 Handle , out pointer , out size ) ;
12251244 status . ThrowIfError ( ) ;
1226- var json = Marshal . PtrToStringAnsi ( pointer ) ;
1245+ var json = Marshal . PtrToStringAnsi ( pointer , ( int ) size ) ;
1246+ NativeInterface . Memory . FreeIntPtr ( pointer ) ;
12271247 return json ;
12281248 }
12291249
@@ -1316,7 +1336,9 @@ public unsafe string ObjectId
13161336 var status = NativeInterface . CompactCiphertextBallot . GetObjectId (
13171337 Handle , out IntPtr value ) ;
13181338 status . ThrowIfError ( ) ;
1319- return Marshal . PtrToStringAnsi ( value ) ;
1339+ var data = Marshal . PtrToStringAnsi ( value ) ;
1340+ NativeInterface . Memory . FreeIntPtr ( value ) ;
1341+ return data ;
13201342 }
13211343 }
13221344
@@ -1408,7 +1430,9 @@ public unsafe string ObjectId
14081430 var status = NativeInterface . SubmittedBallot . GetObjectId (
14091431 Handle , out IntPtr value ) ;
14101432 status . ThrowIfError ( ) ;
1411- return Marshal . PtrToStringAnsi ( value ) ;
1433+ var data = Marshal . PtrToStringAnsi ( value ) ;
1434+ NativeInterface . Memory . FreeIntPtr ( value ) ;
1435+ return data ;
14121436 }
14131437 }
14141438
@@ -1424,7 +1448,9 @@ public unsafe string StyleId
14241448 var status = NativeInterface . SubmittedBallot . GetStyleId (
14251449 Handle , out IntPtr value ) ;
14261450 status . ThrowIfError ( ) ;
1427- return Marshal . PtrToStringAnsi ( value ) ;
1451+ var data = Marshal . PtrToStringAnsi ( value ) ;
1452+ NativeInterface . Memory . FreeIntPtr ( value ) ;
1453+ return data ;
14281454 }
14291455 }
14301456
@@ -1583,7 +1609,8 @@ public unsafe string ToJson()
15831609 var status = NativeInterface . SubmittedBallot . ToJson (
15841610 Handle , out IntPtr pointer , out ulong size ) ;
15851611 status . ThrowIfError ( ) ;
1586- var json = Marshal . PtrToStringAnsi ( pointer ) ;
1612+ var json = Marshal . PtrToStringAnsi ( pointer , ( int ) size ) ;
1613+ NativeInterface . Memory . FreeIntPtr ( pointer ) ;
15871614 return json ;
15881615 }
15891616
0 commit comments