[cmake-developers] [CMake 0014299]: Double free in cmCustomCommand

Mantis Bug Tracker mantis at public.kitware.com
Wed Jul 17 10:43:53 EDT 2013


The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=14299 
====================================================================== 
Reported By:                Vitezslav Cizek
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   14299
Category:                   CMake
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2013-07-17 10:43 EDT
Last Modified:              2013-07-17 10:43 EDT
====================================================================== 
Summary:                    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
http://public.kitware.com/Bug/view.php?id=0  0x0000000000598780 in
cmCustomCommand::~cmCustomCommand() ()
http://public.kitware.com/Bug/view.php?id=1  0x00000000005d00d0 in
cmGlobalGenerator::CreateGlobalTarget(char
const*, char const*, cmCustomCommandLines const*,
std::vector<std::string, std::allocator<std::string> >, char const*) ()
http://public.kitware.com/Bug/view.php?id=2  0x00000000005d0d16 in
cmGlobalGenerator::CreateDefaultGlobalTargets(std::map<cmsys::String,
cmTarget, std::less<cmsys::String>,
std::allocator<std::pair<cmsys::String const, cmTarget> > >*) ()
http://public.kitware.com/Bug/view.php?id=3  0x00000000005d2902 in
cmGlobalGenerator::Generate() ()
http://public.kitware.com/Bug/view.php?id=4  0x00000000005de4cf in
cmGlobalUnixMakefileGenerator3::Generate() ()
http://public.kitware.com/Bug/view.php?id=5  0x0000000000506d2b in
cmake::Generate() ()
http://public.kitware.com/Bug/view.php?id=6  0x00000000004b62b2 in
cmMakefile::TryCompile(char const*, char
const*, char const*, char const*, bool, std::vector<std::string,
std::allocator<std::string> > const*, std::string*) ()
http://public.kitware.com/Bug/view.php?id=7  0x0000000000555c94 in
cmCoreTryCompile::TryCompileCode(std::vector<std::string,
std::allocator<std::string> > const&) ()
http://public.kitware.com/Bug/view.php?id=8  0x00000000005575ec in
cmTryCompileCommand::InitialPass(std::vector<std::string,
std::allocator<std::string> > const&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=9  0x0000000000576a35 in
cmCommand::InvokeInitialPass(std::vector<cmListFileArgument,
std::allocator<cmListFileArgument> > const&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=10 0x00000000004c15fd in
cmMakefile::ExecuteCommand(cmListFileFunction
const&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=11 0x00000000005643a2 in
cmIfFunctionBlocker::IsFunctionBlocked(cmListFileFunction const&,
cmMakefile&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=12 0x00000000004b4998 in
cmMakefile::IsFunctionBlocked(cmListFileFunction const&,
cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=13 0x00000000004c140e in
cmMakefile::ExecuteCommand(cmListFileFunction
const&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=14 0x00000000005643a2 in
cmIfFunctionBlocker::IsFunctionBlocked(cmListFileFunction const&,
cmMakefile&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=15 0x00000000004b4998 in
cmMakefile::IsFunctionBlocked(cmListFileFunction const&,
cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=16 0x00000000004c140e in
cmMakefile::ExecuteCommand(cmListFileFunction
const&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=17 0x00000000005643a2 in
cmIfFunctionBlocker::IsFunctionBlocked(cmListFileFunction const&,
cmMakefile&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=18 0x00000000004b4998 in
cmMakefile::IsFunctionBlocked(cmListFileFunction const&,
cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=19 0x00000000004c140e in
cmMakefile::ExecuteCommand(cmListFileFunction
const&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=20 0x00000000004c205f in
cmMakefile::ReadListFile(char const*, char
const*, std::string*, bool) ()
http://public.kitware.com/Bug/view.php?id=21 0x0000000000534956 in
cmFindPackageCommand::ReadListFile(char
const*, cmFindPackageCommand::PolicyScopeRule) ()
http://public.kitware.com/Bug/view.php?id=22 0x0000000000534aa8 in
cmFindPackageCommand::FindModule(bool&) ()
http://public.kitware.com/Bug/view.php?id=23 0x000000000055f1d7 in
cmFindPackageCommand::InitialPass(std::vector<std::string,
std::allocator<std::string> > const&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=24 0x0000000000576a35 in
cmCommand::InvokeInitialPass(std::vector<cmListFileArgument,
std::allocator<cmListFileArgument> > const&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=25 0x00000000004c15fd in
cmMakefile::ExecuteCommand(cmListFileFunction
const&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=26 0x00000000005643a2 in
cmIfFunctionBlocker::IsFunctionBlocked(cmListFileFunction const&,
cmMakefile&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=27 0x00000000004b4998 in
cmMakefile::IsFunctionBlocked(cmListFileFunction const&,
cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=28 0x00000000004c140e in
cmMakefile::ExecuteCommand(cmListFileFunction
const&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=29 0x00000000004c205f in
cmMakefile::ReadListFile(char const*, char
const*, std::string*, bool) ()
http://public.kitware.com/Bug/view.php?id=30 0x0000000000534956 in
cmFindPackageCommand::ReadListFile(char
const*, cmFindPackageCommand::PolicyScopeRule) ()
http://public.kitware.com/Bug/view.php?id=31 0x0000000000534aa8 in
cmFindPackageCommand::FindModule(bool&) ()
http://public.kitware.com/Bug/view.php?id=32 0x000000000055f1d7 in
cmFindPackageCommand::InitialPass(std::vector<std::string,
std::allocator<std::string> > const&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=33 0x0000000000576a35 in
cmCommand::InvokeInitialPass(std::vector<cmListFileArgument,
std::allocator<cmListFileArgument> > const&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=34 0x00000000004c15fd in
cmMakefile::ExecuteCommand(cmListFileFunction
const&, cmExecutionStatus&) ()
http://public.kitware.com/Bug/view.php?id=35 0x00000000004c205f in
cmMakefile::ReadListFile(char const*, char
const*, std::string*, bool) ()
http://public.kitware.com/Bug/view.php?id=36 0x00000000005eea28 in
cmLocalGenerator::ReadInputFile() ()
http://public.kitware.com/Bug/view.php?id=37 0x00000000005f1058 in
cmLocalGenerator::Configure() ()
http://public.kitware.com/Bug/view.php?id=38 0x00000000005fa474 in
cmLocalUnixMakefileGenerator3::Configure() ()
http://public.kitware.com/Bug/view.php?id=39 0x00000000005d36e6 in
cmGlobalGenerator::Configure() ()
http://public.kitware.com/Bug/view.php?id=40 0x0000000000505d56 in
cmake::ActualConfigure() ()
http://public.kitware.com/Bug/view.php?id=41 0x00000000005062a4 in
cmake::Configure() ()
http://public.kitware.com/Bug/view.php?id=42 0x0000000000506f86 in
cmake::Run(std::vector<std::string,
std::allocator<std::string> > const&, bool) ()
http://public.kitware.com/Bug/view.php?id=43 0x0000000000499541 in do_cmake(int,
char**) ()
http://public.kitware.com/Bug/view.php?id=44 0x00000000004969c9 in main ()



====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2013-07-17 10:43 Vitezslav CizekNew Issue                                    
2013-07-17 10:43 Vitezslav CizekFile Added:
cmake-cmCustomCommand_add_operator=.patch                    
======================================================================




More information about the cmake-developers mailing list