Kaydet (Commit) 12300686 authored tarafından Tim Peters's avatar Tim Peters

Retract the claim that this is always safe if PyMem_{Del, DEL, Free, FREE}

are called without the GIL.  It's incredibly unlikely to fail, but I can't
make this bulletproof without either adding a lock for exclusion, or
giving up on growing the arena base-address vector (it would be safe if
this were a static array).
üst d97a1c00
......@@ -403,6 +403,10 @@ new_arena(void)
* only make a supposed-to-succeed case fail by mistake).
* Read the above 50 times before changing anything in this
* block.
* XXX Fudge. This is still vulnerable: there's nothing
* XXX to stop the bad-guy thread from picking up the
* XXX current value of arenas, but not indexing off of it
* XXX until after the PyMem_FREE(oldarenas) below completes.
*/
uptr *oldarenas;
int newmax = maxarenas + (maxarenas >> 1);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment