Major memory leak when using extruded rotation
A major memory leak has been detected with valgrind when meshing an extruded rotation in a .geo file. This is very critical for us, especially on Windows platform.
Valgrind log on the attached geo file gives at the end: ==29023== 435,648 bytes in 4,538 blocks are definitely lost in loss record 835 of 837 ==29023== at 0x4C22515: operator new(unsigned long) (in /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so) ==29023== by 0x5EE452: Create_Vertex(int, double, double, double, double, double) (Geo.cpp:113) ==29023== by 0x5EE54E: DuplicateVertex(Vertex*) (Geo.cpp:882) ==29023== by 0x5F4AD7: DuplicateCurve(Curve*, bool) (Geo.cpp:930) ==29023== by 0x5F5E08: Extrude_ProtudeCurve(int, int, double, double, double, double, double, double, double, double, double, double, Surface**, int, ExtrudeParams*) (Geo.cpp:2167) ==29023== by 0x5F7075: ExtrudeShapes(int, List_T*, double, double, double, double, double, double, double, double, double, double, ExtrudeParams*, List_T*) (Geo.cpp:2374) ==29023== by 0x74438F: gmsh_yyparse() (Gmsh.y:2567) ==29023== by 0x52E1A4: ParseFile(std::string, bool, bool) (OpenFile.cpp:175) ==29023== by 0x5B7E3E: GModel::readGEO(std::string const&) (GModelIO_Geo.cpp:40) ==29023== by 0x530250: MergeFile(std::string, bool) (OpenFile.cpp:364) ==29023== by 0x530792: OpenProject(std::string) (OpenFile.cpp:440) ==29023== by 0x4F1D0A: main (Main.cpp:76) ==29023== ==29023== ==29023== 2,080,984 (1,403,440 direct, 677,544 indirect) bytes in 3,310 blocks are definitely lost in loss record 837 of 837 ==29023== at 0x4C22515: operator new(unsigned long) (in /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so) ==29023== by 0x5F3AF2: Create_Curve(int, int, int, List_T*, List_T*, int, int, double, double) (Geo.cpp:480) ==29023== by 0x5F3FAD: CreateReversedCurve(Curve*) (Geo.cpp:1352) ==29023== by 0x5F4AFB: DuplicateCurve(Curve*, bool) (Geo.cpp:932) ==29023== by 0x5F5E08: Extrude_ProtudeCurve(int, int, double, double, double, double, double, double, double, double, double, double, Surface**, int, ExtrudeParams*) (Geo.cpp:2167) ==29023== by 0x5F7075: ExtrudeShapes(int, List_T*, double, double, double, double, double, double, double, double, double, double, ExtrudeParams*, List_T*) (Geo.cpp:2374) ==29023== by 0x74438F: gmsh_yyparse() (Gmsh.y:2567) ==29023== by 0x52E1A4: ParseFile(std::string, bool, bool) (OpenFile.cpp:175) ==29023== by 0x5B7E3E: GModel::readGEO(std::string const&) (GModelIO_Geo.cpp:40) ==29023== by 0x530250: MergeFile(std::string, bool) (OpenFile.cpp:364) ==29023== by 0x530792: OpenProject(std::string) (OpenFile.cpp:440) ==29023== by 0x4F1D0A: main (Main.cpp:76) ==29023== ==29023== LEAK SUMMARY: ==29023== definitely lost: 1,878,624 bytes in 8,253 blocks. ==29023== indirectly lost: 769,544 bytes in 15,105 blocks. ==29023== possibly lost: 290,257 bytes in 117 blocks. ==29023== still reachable: 3,033,839 bytes in 28,604 blocks. ==29023== suppressed: 0 bytes in 0 blocks.