[Bug libstdc++/80721] Sorting/Merging of free EH-emergency buffer may wrong or uncomplete
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri May 12 08:21:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80721
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2017-05-12
CC| |rguenth at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed. Isn't it enough to add, after
else if (reinterpret_cast <char *> (e) + sz
== reinterpret_cast <char *> (first_free_entry))
{
...
a
else if (reinterpret_cast <char *> (e)
< reinterpret_cast <char *> (first_free_entry))
{
// First is right of us, replace the head.
free_entry *f = reinterpret_cast <free_entry *> (e);
new (f) free_entry;
f->next = first_free_entry;
first_free_entry = f;
}
? That's a much less intrusive (and hard to review) fix.
More information about the Gcc-bugs
mailing list