Handle LDKStr in other structs and fix string conversion overread
[ldk-java] / java_strings.py
index 96d6909678ce7e58997f7866a4af65b0db8b40ef..43265f449c2359ebc14d7bcbf803a0f43a0e2d0a 100644 (file)
@@ -60,6 +60,7 @@ public class bindings {
         self.util_fn_pfx = """package org.ldk.structs;
 import org.ldk.impl.bindings;
 import java.util.Arrays;
+import org.ldk.enums.*;
 
 public class UtilMethods {
 """
@@ -308,12 +309,12 @@ typedef jbyteArray int8_tArray;
 
 static inline jstring str_ref_to_java(JNIEnv *env, const char* chars, size_t len) {
        // Sadly we need to create a temporary because Java can't accept a char* without a 0-terminator
-       char* err_buf = MALLOC(len + 1, "str conv buf");
-       memcpy(err_buf, chars, len);
-       err_buf[len] = 0;
-       jstring err_conv = (*env)->NewStringUTF(env, chars);
-       FREE(err_buf);
-       return err_conv;
+       char* conv_buf = MALLOC(len + 1, "str conv buf");
+       memcpy(conv_buf, chars, len);
+       conv_buf[len] = 0;
+       jstring ret = (*env)->NewStringUTF(env, conv_buf);
+       FREE(conv_buf);
+       return ret;
 }
 static inline LDKStr java_to_owned_str(JNIEnv *env, jstring str) {
        uint64_t str_len = (*env)->GetStringUTFLength(env, str);