Browse Source

test: cleanup handles in test_environment

The test fixtures create multiple node::Environments that all use the
uv_default_loop(), and since the test does not clean up the handles
created by Environment::Start(), the default libuv loop structure
contains dangling pointers after the first Environment is freed,
which then means that creating new handles leads to memory corruption.

PR-URL: https://github.com/nodejs/node/pull/12621
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
v6
Anna Henningsen 8 years ago
parent
commit
d5db4d25dc
No known key found for this signature in database GPG Key ID: D8B9F5AEAE84E4CF
  1. 1
      test/cctest/test_environment.cc

1
test/cctest/test_environment.cc

@ -42,6 +42,7 @@ class EnvironmentTest : public NodeTestFixture {
~Env() {
FreeIsolateData(isolate_data_);
environment_->CleanupHandles();
FreeEnvironment(environment_);
}

Loading…
Cancel
Save