View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0014299 | CMake | CMake | public | 2013-07-17 10:43 | 2013-12-02 08:51 | ||||
Reporter | Vitezslav Cizek | ||||||||
Assigned To | Brad King | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | x86_64 | OS | Linux | OS Version | openSUSE_12.3 | ||||
Product Version | |||||||||
Target Version | CMake 2.8.12 | Fixed in Version | CMake 2.8.12 | ||||||
Summary | 0014299: Double free in cmCustomCommand | ||||||||
Description | The cmCustomCommand class should implement an operator= Otherwise the Backtrace can be free()d more than once. Program received signal SIGSEGV, Segmentation fault. (gdb) bt #0 0x0000000000598780 in cmCustomCommand::~cmCustomCommand() () #1 0x00000000005d00d0 in cmGlobalGenerator::CreateGlobalTarget(char const*, char const*, cmCustomCommandLines const*, std::vector<std::string, std::allocator<std::string> >, char const*) () 0000002 0x00000000005d0d16 in cmGlobalGenerator::CreateDefaultGlobalTargets(std::map<cmsys::String, cmTarget, std::less<cmsys::String>, std::allocator<std::pair<cmsys::String const, cmTarget> > >*) () 0000003 0x00000000005d2902 in cmGlobalGenerator::Generate() () 0000004 0x00000000005de4cf in cmGlobalUnixMakefileGenerator3::Generate() () 0000005 0x0000000000506d2b in cmake::Generate() () 0000006 0x00000000004b62b2 in cmMakefile::TryCompile(char const*, char const*, char const*, char const*, bool, std::vector<std::string, std::allocator<std::string> > const*, std::string*) () 0000007 0x0000000000555c94 in cmCoreTryCompile::TryCompileCode(std::vector<std::string, std::allocator<std::string> > const&) () 0000008 0x00000000005575ec in cmTryCompileCommand::InitialPass(std::vector<std::string, std::allocator<std::string> > const&, cmExecutionStatus&) () #9 0x0000000000576a35 in cmCommand::InvokeInitialPass(std::vector<cmListFileArgument, std::allocator<cmListFileArgument> > const&, cmExecutionStatus&) () 0000010 0x00000000004c15fd in cmMakefile::ExecuteCommand(cmListFileFunction const&, cmExecutionStatus&) () #11 0x00000000005643a2 in cmIfFunctionBlocker::IsFunctionBlocked(cmListFileFunction const&, cmMakefile&, cmExecutionStatus&) () 0000012 0x00000000004b4998 in cmMakefile::IsFunctionBlocked(cmListFileFunction const&, cmExecutionStatus&) () 0000013 0x00000000004c140e in cmMakefile::ExecuteCommand(cmListFileFunction const&, cmExecutionStatus&) () 0000014 0x00000000005643a2 in cmIfFunctionBlocker::IsFunctionBlocked(cmListFileFunction const&, cmMakefile&, cmExecutionStatus&) () 0000015 0x00000000004b4998 in cmMakefile::IsFunctionBlocked(cmListFileFunction const&, cmExecutionStatus&) () 0000016 0x00000000004c140e in cmMakefile::ExecuteCommand(cmListFileFunction const&, cmExecutionStatus&) () 0000017 0x00000000005643a2 in cmIfFunctionBlocker::IsFunctionBlocked(cmListFileFunction const&, cmMakefile&, cmExecutionStatus&) () 0000018 0x00000000004b4998 in cmMakefile::IsFunctionBlocked(cmListFileFunction const&, cmExecutionStatus&) () 0000019 0x00000000004c140e in cmMakefile::ExecuteCommand(cmListFileFunction const&, cmExecutionStatus&) () 0000020 0x00000000004c205f in cmMakefile::ReadListFile(char const*, char const*, std::string*, bool) () 0000021 0x0000000000534956 in cmFindPackageCommand::ReadListFile(char const*, cmFindPackageCommand::PolicyScopeRule) () 0000022 0x0000000000534aa8 in cmFindPackageCommand::FindModule(bool&) () 0000023 0x000000000055f1d7 in cmFindPackageCommand::InitialPass(std::vector<std::string, std::allocator<std::string> > const&, cmExecutionStatus&) () 0000024 0x0000000000576a35 in cmCommand::InvokeInitialPass(std::vector<cmListFileArgument, std::allocator<cmListFileArgument> > const&, cmExecutionStatus&) () 0000025 0x00000000004c15fd in cmMakefile::ExecuteCommand(cmListFileFunction const&, cmExecutionStatus&) () 0000026 0x00000000005643a2 in cmIfFunctionBlocker::IsFunctionBlocked(cmListFileFunction const&, cmMakefile&, cmExecutionStatus&) () 0000027 0x00000000004b4998 in cmMakefile::IsFunctionBlocked(cmListFileFunction const&, cmExecutionStatus&) () 0000028 0x00000000004c140e in cmMakefile::ExecuteCommand(cmListFileFunction const&, cmExecutionStatus&) () 0000029 0x00000000004c205f in cmMakefile::ReadListFile(char const*, char const*, std::string*, bool) () 0000030 0x0000000000534956 in cmFindPackageCommand::ReadListFile(char const*, cmFindPackageCommand::PolicyScopeRule) () 0000031 0x0000000000534aa8 in cmFindPackageCommand::FindModule(bool&) () 0000032 0x000000000055f1d7 in cmFindPackageCommand::InitialPass(std::vector<std::string, std::allocator<std::string> > const&, cmExecutionStatus&) () 0000033 0x0000000000576a35 in cmCommand::InvokeInitialPass(std::vector<cmListFileArgument, std::allocator<cmListFileArgument> > const&, cmExecutionStatus&) () 0000034 0x00000000004c15fd in cmMakefile::ExecuteCommand(cmListFileFunction const&, cmExecutionStatus&) () 0000035 0x00000000004c205f in cmMakefile::ReadListFile(char const*, char const*, std::string*, bool) () 0000036 0x00000000005eea28 in cmLocalGenerator::ReadInputFile() () 0000037 0x00000000005f1058 in cmLocalGenerator::Configure() () 0000038 0x00000000005fa474 in cmLocalUnixMakefileGenerator3::Configure() () #39 0x00000000005d36e6 in cmGlobalGenerator::Configure() () 0000040 0x0000000000505d56 in cmake::ActualConfigure() () 0000041 0x00000000005062a4 in cmake::Configure() () 0000042 0x0000000000506f86 in cmake::Run(std::vector<std::string, std::allocator<std::string> > const&, bool) () 0000043 0x0000000000499541 in do_cmake(int, char**) () 0000044 0x00000000004969c9 in main () | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | cmake-cmCustomCommand_add_operator=.patch [^] (1,865 bytes) 2013-07-17 10:43 [Show Content] | ||||||||
Relationships | |
Relationships |
Notes | |
(0033565) Brad King (manager) 2013-07-17 11:25 |
Wow, how did this go unnoticed for so long? Thanks for reporting. I've applied a similar patch to that proposed, modified because we do not use try/catch/throw constructs in CMake source: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=17c841c4 [^] |
(0034650) Robert Maynard (manager) 2013-12-02 08:51 |
Closing resolved issues that have not been updated in more than 4 months. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2013-07-17 10:43 | Vitezslav Cizek | New Issue | |
2013-07-17 10:43 | Vitezslav Cizek | File Added: cmake-cmCustomCommand_add_operator=.patch | |
2013-07-17 11:25 | Brad King | Note Added: 0033565 | |
2013-07-17 11:25 | Brad King | Assigned To | => Brad King |
2013-07-17 11:25 | Brad King | Status | new => resolved |
2013-07-17 11:25 | Brad King | Resolution | open => fixed |
2013-07-17 11:25 | Brad King | Fixed in Version | => CMake 2.8.12 |
2013-07-17 11:25 | Brad King | Target Version | => CMake 2.8.12 |
2013-12-02 08:51 | Robert Maynard | Note Added: 0034650 | |
2013-12-02 08:51 | Robert Maynard | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |