From f25220b2cfae015709afb68824f6442a2c9f2bef Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Mon, 3 Dec 2018 14:22:26 -0500 Subject: Fix test_cc memory leaks. These were discovered using the LSAN. http://dev.chromium.org/developers/testing/leaksanitizer --- libdeno/internal.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libdeno/internal.h') diff --git a/libdeno/internal.h b/libdeno/internal.h index a996a0008..0113946d5 100644 --- a/libdeno/internal.h +++ b/libdeno/internal.h @@ -23,15 +23,26 @@ class DenoIsolate { cb_(cb), next_req_id_(0), user_data_(nullptr) { + array_buffer_allocator_ = v8::ArrayBuffer::Allocator::NewDefaultAllocator(); if (snapshot.data_ptr) { snapshot_.data = reinterpret_cast(snapshot.data_ptr); snapshot_.raw_size = static_cast(snapshot.data_len); } } + ~DenoIsolate() { + if (snapshot_creator_) { + delete snapshot_creator_; + } else { + isolate_->Dispose(); + } + delete array_buffer_allocator_; + } + void AddIsolate(v8::Isolate* isolate); v8::Isolate* isolate_; + v8::ArrayBuffer::Allocator* array_buffer_allocator_; deno_buf shared_; const v8::FunctionCallbackInfo* current_args_; v8::SnapshotCreator* snapshot_creator_; -- cgit v1.2.3