[C#] Free array buffers passed to C# after we've decoded them
[ldk-java] / c_sharp / src / org / ldk / util / InternalUtils.cs
index 927409e2a4e2ce7782447ff809f38bebe7edae2c..9296adf0fdc59d7a49173191a780e16f4204a0ee 100644 (file)
@@ -124,6 +124,7 @@ internal class InternalUtils {
                byte[] res = new byte[len];
                for (int i = 0; i < len; i++)
                        res[i] = getU8ArrayElem(arrptr, i);
+               bindings.free_buffer(arrptr);
                return res;
        }
        public static short[] decodeUint16Array(long arrptr) {
@@ -131,6 +132,7 @@ internal class InternalUtils {
                short[] res = new short[len];
                for (int i = 0; i < len; i++)
                        res[i] = getU16ArrayElem(arrptr, i);
+               bindings.free_buffer(arrptr);
                return res;
        }
        public static long[] decodeUint64Array(long arrptr) {
@@ -138,6 +140,7 @@ internal class InternalUtils {
                long[] res = new long[len];
                for (int i = 0; i < len; i++)
                        res[i] = getU64ArrayElem(arrptr, i);
+               bindings.free_buffer(arrptr);
                return res;
        }
 }