[gardening] Fix test

TEST=tests/ffi/deeply_immutable_c_api_finalizer_test.dart

Closes: https://github.com/dart-lang/sdk/issues/55165
Change-Id: I8e5925b978db4591442ca36d57a6a98f85501bbd
Cq-Include-Trybots: luci.dart.try:vm-win-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/356801
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
diff --git a/runtime/bin/ffi_test/ffi_test_functions_vmspecific.cc b/runtime/bin/ffi_test/ffi_test_functions_vmspecific.cc
index aa566ce..a665741 100644
--- a/runtime/bin/ffi_test/ffi_test_functions_vmspecific.cc
+++ b/runtime/bin/ffi_test/ffi_test_functions_vmspecific.cc
@@ -617,6 +617,10 @@
 
 Dart_Port send_port_;
 
+DART_EXPORT void* Calloc(size_t count, size_t size) {
+  return calloc(count, size);
+}
+
 DART_EXPORT void FreeFinalizer(void*, void* value) {
   free(value);
 }
diff --git a/tests/ffi/deeply_immutable_c_api_finalizer_test.dart b/tests/ffi/deeply_immutable_c_api_finalizer_test.dart
index 7d031a9..de1e9c9 100644
--- a/tests/ffi/deeply_immutable_c_api_finalizer_test.dart
+++ b/tests/ffi/deeply_immutable_c_api_finalizer_test.dart
@@ -28,7 +28,7 @@
   MyFinalizable._(this.pointer);
 
   factory MyFinalizable() {
-    final pointer = calloc<Int>(10);
+    final pointer = calloc(sizeOf<Int>(), 10).cast<Int>();
     pointer.value = 123;
     final result = MyFinalizable._(pointer);
     newFinalizableHandle(
@@ -41,6 +41,10 @@
   }
 }
 
+final calloc = dlopenPlatformSpecific("ffi_test_functions")
+    .lookup<NativeFunction<Pointer<Void> Function(Size, Size)>>('Calloc')
+    .asFunction<Pointer<Void> Function(int, int)>();
+
 final freeFinalizer = dlopenPlatformSpecific("ffi_test_functions")
     .lookup<NativeFunction<Dart_HandleFinalizerFunction>>('FreeFinalizer');