[standalone] Fix leak when the kernel service produces a compile-time error.
Bug: https://github.com/dart-lang/sdk/issues/32187
Change-Id: If845eec40fe013120455ac851395ee215a3ce0d2
Reviewed-on: https://dart-review.googlesource.com/c/78623
Reviewed-by: Siva Annamalai <asiva@google.com>
diff --git a/runtime/bin/dfe.cc b/runtime/bin/dfe.cc
index 5e58c20..7e18fef 100644
--- a/runtime/bin/dfe.cc
+++ b/runtime/bin/dfe.cc
@@ -209,14 +209,17 @@
*exit_code = 0;
break;
case Dart_KernelCompilationStatus_Error:
+ free(result.kernel);
*error = result.error; // Copy error message.
*exit_code = kCompilationErrorExitCode;
break;
case Dart_KernelCompilationStatus_Crash:
+ free(result.kernel);
*error = result.error; // Copy error message.
*exit_code = kDartFrontendErrorExitCode;
break;
case Dart_KernelCompilationStatus_Unknown:
+ free(result.kernel);
*error = result.error; // Copy error message.
*exit_code = kErrorExitCode;
break;