diff --git a/lib/flutter_libsparkmobile.dart b/lib/flutter_libsparkmobile.dart index 14b43bf..260c562 100644 --- a/lib/flutter_libsparkmobile.dart +++ b/lib/flutter_libsparkmobile.dart @@ -542,11 +542,7 @@ abstract final class LibSpark { return hashes; } - /// [x] and [y] must be of length 64 static String hashTag(String x, String y) { - assert(x.length == 64); - assert(y.length == 64); - final xPtr = x.toNativeUtf8().cast(); final yPtr = y.toNativeUtf8().cast(); diff --git a/src/flutter_libsparkmobile.cpp b/src/flutter_libsparkmobile.cpp index 4da9416..473d750 100644 --- a/src/flutter_libsparkmobile.cpp +++ b/src/flutter_libsparkmobile.cpp @@ -369,7 +369,7 @@ const char* hashTag(const char* x, const char* y) { secp_primitives::GroupElement tag = secp_primitives::GroupElement(x, y, 16); uint256 hash = primitives::GetLTagHash(tag); std::string hex = hash.GetHex(); - char* result = (char*) malloc(sizeof(char) * hex.length()); + char* result = (char*) malloc(sizeof(char) * (hex.length() + 1)); strcpy(result, hex.c_str()); return result; }