mirror of
https://github.com/NixOS/nix
synced 2025-06-27 16:51:15 +02:00
allocate a GC root value for the Value cache pointer
keeping it as a simple data member means it won't be scanned by the GC, so eventually the GC will collect a cache that is still referenced (resulting in use-after-free of cache elements). fixes #5962
This commit is contained in:
parent
5f08db69d1
commit
fd5aa6ee3e
2 changed files with 11 additions and 6 deletions
|
@ -133,7 +133,7 @@ private:
|
|||
std::shared_ptr<RegexCache> regexCache;
|
||||
|
||||
/* Allocation cache for GC'd Value objects. */
|
||||
void * valueAllocCache = nullptr;
|
||||
std::shared_ptr<void *> valueAllocCache;
|
||||
|
||||
public:
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue