[Bug libstdc++/81891] [5/6/7 Regression] heap-use-after-free if inserting element in std::unordered_map(InputIt, InputIt) throws

2017-09-13 Thread aldyh at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81891

--- Comment #10 from Aldy Hernandez  ---
Author: aldyh
Date: Wed Sep 13 17:09:15 2017
New Revision: 252481

URL: https://gcc.gnu.org/viewcvs?rev=252481=gcc=rev
Log:
PR libstdc++/81891 fix double-free in hashtable constructor

PR libstdc++/81891
* include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator,
size_type, const _H1&, const _H2&, const _Hash&, const _Equal&,
const _ExtractKey&, const allocator_type&)): Let destructor do clean
up if an exception is thrown.
* testsuite/23_containers/unordered_map/cons/81891.cc: New.

Added:
   
branches/range-gen2/libstdc++-v3/testsuite/23_containers/unordered_map/cons/81891.cc
Modified:
branches/range-gen2/libstdc++-v3/ChangeLog
branches/range-gen2/libstdc++-v3/include/bits/hashtable.h

[Bug libstdc++/81891] [5/6/7 Regression] heap-use-after-free if inserting element in std::unordered_map(InputIt, InputIt) throws

2017-09-04 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81891

Jonathan Wakely  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #9 from Jonathan Wakely  ---
Fixed for all active branches.

[Bug libstdc++/81891] [5/6/7 Regression] heap-use-after-free if inserting element in std::unordered_map(InputIt, InputIt) throws

2017-09-04 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81891

--- Comment #8 from Jonathan Wakely  ---
Author: redi
Date: Mon Sep  4 16:41:34 2017
New Revision: 251671

URL: https://gcc.gnu.org/viewcvs?rev=251671=gcc=rev
Log:
PR libstdc++/81891 fix double-free in hashtable constructor

Backport from mainline
2017-08-18  Jonathan Wakely  

PR libstdc++/81891
* include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator,
size_type, const _H1&, const _H2&, const _Hash&, const _Equal&,
const _ExtractKey&, const allocator_type&)): Let destructor do clean
up if an exception is thrown.
* testsuite/23_containers/unordered_map/cons/81891.cc: New.

Added:
   
branches/gcc-5-branch/libstdc++-v3/testsuite/23_containers/unordered_map/cons/81891.cc
Modified:
branches/gcc-5-branch/libstdc++-v3/ChangeLog
branches/gcc-5-branch/libstdc++-v3/include/bits/hashtable.h

[Bug libstdc++/81891] [5/6/7 Regression] heap-use-after-free if inserting element in std::unordered_map(InputIt, InputIt) throws

2017-09-04 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81891

--- Comment #7 from Jonathan Wakely  ---
Author: redi
Date: Mon Sep  4 16:17:07 2017
New Revision: 251667

URL: https://gcc.gnu.org/viewcvs?rev=251667=gcc=rev
Log:
PR libstdc++/81891 fix double-free in hashtable constructor

Backport from mainline
2017-08-18  Jonathan Wakely  

PR libstdc++/81891
* include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator,
size_type, const _H1&, const _H2&, const _Hash&, const _Equal&,
const _ExtractKey&, const allocator_type&)): Let destructor do clean
up if an exception is thrown.
* testsuite/23_containers/unordered_map/cons/81891.cc: New.

Added:
   
branches/gcc-6-branch/libstdc++-v3/testsuite/23_containers/unordered_map/cons/81891.cc
Modified:
branches/gcc-6-branch/libstdc++-v3/ChangeLog
branches/gcc-6-branch/libstdc++-v3/include/bits/hashtable.h

[Bug libstdc++/81891] [5/6/7 Regression] heap-use-after-free if inserting element in std::unordered_map(InputIt, InputIt) throws

2017-09-04 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81891

--- Comment #6 from Jonathan Wakely  ---
Author: redi
Date: Mon Sep  4 12:24:42 2017
New Revision: 251654

URL: https://gcc.gnu.org/viewcvs?rev=251654=gcc=rev
Log:
PR libstdc++/81891 fix double-free in hashtable constructor

Backport from mainline
2017-08-18  Jonathan Wakely  

PR libstdc++/81891
* include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator,
size_type, const _H1&, const _H2&, const _Hash&, const _Equal&,
const _ExtractKey&, const allocator_type&)): Let destructor do clean
up if an exception is thrown.
* testsuite/23_containers/unordered_map/cons/81891.cc: New.

Added:
   
branches/gcc-7-branch/libstdc++-v3/testsuite/23_containers/unordered_map/cons/81891.cc
Modified:
branches/gcc-7-branch/libstdc++-v3/ChangeLog
branches/gcc-7-branch/libstdc++-v3/include/bits/hashtable.h

[Bug libstdc++/81891] [5/6/7 Regression] heap-use-after-free if inserting element in std::unordered_map(InputIt, InputIt) throws

2017-08-22 Thread LpSolit at netscape dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81891

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug libstdc++/81891] [5/6/7 Regression] heap-use-after-free if inserting element in std::unordered_map(InputIt, InputIt) throws

2017-08-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81891

Jonathan Wakely  changed:

   What|Removed |Added

  Known to work||8.0
   Target Milestone|--- |5.5
Summary|[5/6/7/8 Regression]|[5/6/7 Regression]
   |heap-use-after-free if  |heap-use-after-free if
   |inserting element in|inserting element in
   |std::unordered_map(InputIt, |std::unordered_map(InputIt,
   |InputIt) throws |InputIt) throws
  Known to fail|8.0 |

--- Comment #5 from Jonathan Wakely  ---
Fixed on trunk so far.