summaryrefslogtreecommitdiff
path: root/src/binaryen-shell.cpp
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-04-27 19:25:15 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-04-27 19:25:15 -0700
commit6a6bdc1cef5ec35cb9f7caf6e10ec76ee1107d0d (patch)
tree9ed1b23b55c86f8fa1aee285bfdde9d47c2f1ae8 /src/binaryen-shell.cpp
parent4a85f62e8a83117a081e9691d8830b6a7a876d1d (diff)
parentf0a4f15dc27ffff9505503a8168854b7662b2657 (diff)
downloadbinaryen-6a6bdc1cef5ec35cb9f7caf6e10ec76ee1107d0d.tar.gz
binaryen-6a6bdc1cef5ec35cb9f7caf6e10ec76ee1107d0d.tar.bz2
binaryen-6a6bdc1cef5ec35cb9f7caf6e10ec76ee1107d0d.zip
Merge pull request #403 from WebAssembly/leaks
Fix leaks and enable leak checks
Diffstat (limited to 'src/binaryen-shell.cpp')
-rw-r--r--src/binaryen-shell.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/binaryen-shell.cpp b/src/binaryen-shell.cpp
index 4f2890969..509bd97dc 100644
--- a/src/binaryen-shell.cpp
+++ b/src/binaryen-shell.cpp
@@ -74,11 +74,11 @@ static void run_asserts(size_t* i, bool* checked, Module* wasm,
Element* root,
std::unique_ptr<SExpressionWasmBuilder>* builder,
Name entry) {
- ShellExternalInterface* interface = nullptr;
- ModuleInstance* instance = nullptr;
+ std::unique_ptr<ShellExternalInterface> interface;
+ std::unique_ptr<ModuleInstance> instance;
if (wasm) {
- interface = new ShellExternalInterface();
- instance = new ModuleInstance(*wasm, interface);
+ interface = make_unique<ShellExternalInterface>();
+ instance = make_unique<ModuleInstance>(*wasm, interface.get());
if (entry.is()) {
Function* function = wasm->getFunction(entry);
if (!function) {
@@ -128,7 +128,7 @@ static void run_asserts(size_t* i, bool* checked, Module* wasm,
assert(invalid);
} else if (id == INVOKE) {
assert(wasm);
- Invocation invocation(curr, instance, *builder->get());
+ Invocation invocation(curr, instance.get(), *builder->get());
invocation.invoke();
} else {
// an invoke test
@@ -136,7 +136,7 @@ static void run_asserts(size_t* i, bool* checked, Module* wasm,
bool trapped = false;
Literal result;
try {
- Invocation invocation(*curr[1], instance, *builder->get());
+ Invocation invocation(*curr[1], instance.get(), *builder->get());
result = invocation.invoke();
} catch (const TrapException&) {
trapped = true;