https://redmine.openinfosecfoundation.org/issues/2356
Address issues found by coverity for resource leaks and use after free.
pftv->filename = SCStrdup(current_file->filename);
if (unlikely(pftv->filename == NULL)) {
SCLogError(SC_ERR_MEM_ALLOC, "Failed to allocate filename");
+ CleanupPcapFileFileVars(pftv);
SCReturnInt(TM_ECODE_FAILED);
}
pftv->shared = pv->shared;
SCLogInfo("Directory %s no longer exists, stopping",
ptv->filename);
status = TM_ECODE_DONE;
- } else {
+ } else if(directory_check != NULL) {
closedir(directory_check);
}
}
PcapFileDirectoryVars *pv = SCMalloc(sizeof(PcapFileDirectoryVars));
if (unlikely(pv == NULL)) {
SCLogError(SC_ERR_MEM_ALLOC, "Failed to allocate directory vars");
+ closedir(directory);
CleanupPcapFileThreadVars(ptv);
SCReturnInt(TM_ECODE_FAILED);
}