Bonjour!

Klocwork l'analyseur de code statique dit que: Possible memory leak. Dynamic memory stored in 'pSETEndFittingProductFamilies' allocated through function 'new' dans ma partie de code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
	else
	{
      m_pSubEntityTypesToLoad = new CSubEntityTypesToLoad();
      CSubEntityTypeToLoad* pSETConnectedSemiEquipments = new CSubEntityTypeToLoad(enEProcessSETConnectedSemiEquipments, NULL);
      CSubEntityTypeToLoad* pSETEquProductFamilies = new CSubEntityTypeToLoad(enEProcessSETEquProductFamilies, NULL);
 
      if (m_pSubEntityTypesToLoad && pSETConnectedSemiEquipments/* && pSETEquProductFamilies*/)
      {
         m_pSubEntityTypesToLoad->push_back(pSETConnectedSemiEquipments);
         m_pSubEntityTypesToLoad->push_back(pSETEquProductFamilies);
      }		
	}
alors qu'il semble, j'en suis sur qu'il n'y en a pas
Il s'agit en fait d'une classe héritant un std::vector<>

Il y a bien:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
void CVectorSubEntityTypesToLoad::Clear()
{
	for(long i = 0; i < (long)size(); i++)
		delete at(i);
 
	clear();
}
Pensez vous que le leak est possible?

Source:
TestMemoryLeakVector.zip