commit | 194511be31cd7a97c85213cadf0763dee8e4af69 | [log] [tgz] |
---|---|---|
author | Guillaume Bouchard <guillaume.bouchard@tweag.io> | Fri Feb 07 10:00:37 2020 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Feb 07 10:01:34 2020 -0800 |
tree | 5dfaaa41ed37bc3e36df9c526a565b2e12cb7fa3 | |
parent | 86b51fc10b8301a5941bd2158ca5a91581ba6072 [diff] |
Fix a memory leak in linux sandbox `getcwd` result is allocated using `malloc` and should be deallocated with `free`. However `opt.working_dir` won't own it because that's an `std::string` and the current `operator=` call will allocate a new buffer and copy the content of `getcwd` result. Hence, in the previous solution, the result of `getcwd` was just leaked at the end of the function. This commit adds the necessary `free`. *edit*: I found that when running a C++ ASAN sanitizer during my build. I have a rule which setups the environment with `LD_PRELOAD and apparently bazel is calling the sandbox inside the build environment, hence it inherit the `LD_PRELOAD` setting. Closes #10599. PiperOrigin-RevId: 293835331
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel rebuilds only what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.
One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.
Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.
Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.
Follow our tutorials:
See CONTRIBUTING.md