#73 Memory leak in QuadratureRuleContainer
Metadata
| Property | Value | 
|---|---|
| Reported by | Oliver Sander (oliver.sander@tu-dresden.de) | 
| Reported at | Jan 6, 2006 15:17 | 
| Type | Bug Report | 
| Version | Git (pre2.4) [autotools] | 
| Operating System | Unspecified / All | 
| Closed by | Markus Blatt (markus@dr-blatt.de) | 
| Closed at | May 11, 2006 13:47 | 
| Closed in version | Unknown | 
| Resolution | Fixed | 
| Comment | See my comment. | 
Description
The simple program
#include <config.h> #include <dune/quadrature/quadraturerules.hh>
int main (int argc, char *argv[]) { const Dune::QuadratureRule<double, 2>& quad Dune::QuadratureRules<double, 2>::rule(Dune::cube, 2);
}
contains memory leaks, as can be witnessed when running it with
valgrind --leak-check=full quadleaktest
The reason is that the constructor of QuadratureRuleContainer creates new CubeQuadratureRules and SimplexQuadratureRules on the heap, but the destructor doesn't remove them.
Christian commented that it may be a good idea to have the different quadrature rules all be of the same c++ type and store them not on the heap but directly in a vector in the container class.