[Boost-bugs] [Boost C++ Libraries] #9493: labeled_graph may refer to and operate on released memory after removing a vertex by label

Subject: [Boost-bugs] [Boost C++ Libraries] #9493: labeled_graph may refer to and operate on released memory after removing a vertex by label
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-12-13 12:39:27


#9493: labeled_graph may refer to and operate on released memory after removing a
vertex by label
-------------------------------------------+----------------------
 Reporter: Adam Romanek <romanek.adam@…> | Owner: jewillco
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: graph
  Version: Boost 1.54.0 | Severity: Problem
 Keywords: |
-------------------------------------------+----------------------
 Although `labeled_graph` is not officially part of BGL API some people try
 to use it.

 Unfortunately, the current implementation has a serious bug that might
 lead to a crash. The problem appears when removing a vertex from
 labeled_graph by its label. My investigation shown that despite of vertex
 being actually removed, the label is not and it still refers to the
 removed vertex.

 The problem is "easier" to reproduce when adjacency_list's VertexList is
 set to a container like boost::listS.

 The attached test case shows the problem.
 I also attached the output from a valgrind run on the test case code and a
 patch that fixes the issue for the "configuration" that I use (a more
 generic fix will probably be needed).

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/9493>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:15 UTC