diff --git a/client/goal.c b/client/goal.c index 30872580..62b79f9e 100644 --- a/client/goal.c +++ b/client/goal.c @@ -959,7 +959,11 @@ TDNFSolvAddMinVersions( map_setall(pPool->considered); map_subtract(pPool->considered, pMapMinVersions); cleanup: - TDNFFreeMemory(pMapMinVersions); + if(pMapMinVersions) + { + map_free(pMapMinVersions); + TDNFFreeMemory(pMapMinVersions); + } TDNF_SAFE_FREE_MEMORY(pszTmp); TDNF_SAFE_FREE_STRINGARRAY(ppszTokens); return dwError; diff --git a/solv/tdnfpool.c b/solv/tdnfpool.c index b9f90374..ec87897e 100644 --- a/solv/tdnfpool.c +++ b/solv/tdnfpool.c @@ -48,6 +48,12 @@ SolvFreeSack( Pool* pPool = pSack->pPool; if(pPool) { + if (pPool->considered) + { + /* shouldn't this be owned by pPool? */ + map_free(pPool->considered); + TDNF_SAFE_FREE_MEMORY(pPool->considered); + } pool_free(pPool); } TDNF_SAFE_FREE_MEMORY(pSack->pszCacheDir);