[vm] Fix memory leak in TestCase::EvaluateExpression

The Dart_KernelCompilationResult type is clumsy to use because it has
multiple owning pointers, and TestCase needs to be better about
remembering to release memory in all code paths. But adding this
free() call at least fixes the reported leak.

Fixes #37154.

Change-Id: I075ccfd20c55026f2443c3d0aef3d2d62192ab3b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105406
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Matthew Dempsky <mdempsky@google.com>
diff --git a/runtime/vm/unit_test.cc b/runtime/vm/unit_test.cc
index 168f264..880a945 100644
--- a/runtime/vm/unit_test.cc
+++ b/runtime/vm/unit_test.cc
@@ -685,6 +685,7 @@
     val = lib.EvaluateCompiledExpression(kernel_bytes, kernel_length,
                                          Array::empty_array(), param_values,
                                          TypeArguments::null_type_arguments());
+    free(const_cast<uint8_t*>(kernel_bytes));
   }
   return Api::NewHandle(thread, val.raw());
 }