Fix memory leaks with V8 startup data.
Review-Url: https://codereview.chromium.org/2068563002
diff --git a/testing/test_support.cpp b/testing/test_support.cpp
index 96a18a5..c4d915e 100644
--- a/testing/test_support.cpp
+++ b/testing/test_support.cpp
@@ -157,12 +157,14 @@
v8::StartupData* snapshot_blob,
v8::Platform** platform) {
InitializeV8Common(exe_path.c_str(), platform);
- if (!GetExternalData(exe_path, bin_dir, "natives_blob.bin", natives_blob))
- return false;
- if (!GetExternalData(exe_path, bin_dir, "snapshot_blob.bin", snapshot_blob))
- return false;
- v8::V8::SetNativesDataBlob(natives_blob);
- v8::V8::SetSnapshotDataBlob(snapshot_blob);
+ if (natives_blob && snapshot_blob) {
+ if (!GetExternalData(exe_path, bin_dir, "natives_blob.bin", natives_blob))
+ return false;
+ if (!GetExternalData(exe_path, bin_dir, "snapshot_blob.bin", snapshot_blob))
+ return false;
+ v8::V8::SetNativesDataBlob(natives_blob);
+ v8::V8::SetSnapshotDataBlob(snapshot_blob);
+ }
return true;
}
#else // V8_USE_EXTERNAL_STARTUP_DATA