diff options
author | Akim Demaille <akim.demaille@gmail.com> | 2018-12-23 19:37:30 +0100 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2018-12-24 18:58:56 +0100 |
commit | 807bf60cfc08dda89e81b171d8667a6a491afe26 (patch) | |
tree | 9c9e0684dd4d68d4cdf0f0f46b638317893f0401 /THANKS | |
parent | 45cd7dfb7f9d7875c1ba86663f601920d6a7b69f (diff) | |
download | bison-807bf60cfc08dda89e81b171d8667a6a491afe26.tar.gz |
c++: fix double free when a symbol_type was moved
Currently the following piece of code crashes (with parse.assert),
because we don't record that s was moved-from, and we invoke its dtor.
{
auto s = parser::make_INT (42);
auto s2 = std::move (s);
}
Reported by Wolfgang Thaller.
http://lists.gnu.org/archive/html/bug-bison/2018-12/msg00077.html
* data/c++.m4 (by_type): Provide a move-ctor.
(basic_symbol): Be sure not to read a moved-from value.
* tests/c++.at (C++ Variant-based Symbols Unit Tests): Check this case.
Diffstat (limited to 'THANKS')
-rw-r--r-- | THANKS | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -180,6 +180,7 @@ Wayne Green wayne@infosavvy.com Wei Song wsong83@gmail.com Wojciech Polak polak@gnu.org Wolfgang S. Kechel wolfgang.kechel@prs.de +Wolfgang Thaller wolfgang.thaller@gmx.net Wolfram Wagner ww@mpi-sb.mpg.de Wwp subscript@free.fr xolodho xolodho@gmail.com |