@@ -561,16 +561,18 @@ def _setResultsFile():
561561 return
562562
563563 if not conf .resultsFP :
564- conf .resultsFilename = os .path .join (paths .SQLMAP_OUTPUT_PATH , time .strftime (RESULTS_FILE_FORMAT ).lower ())
564+ conf .resultsFile = conf .resultsFile or os .path .join (paths .SQLMAP_OUTPUT_PATH , time .strftime (RESULTS_FILE_FORMAT ).lower ())
565+ found = os .path .exists (conf .resultsFile )
566+
565567 try :
566- conf .resultsFP = openFile (conf .resultsFilename , "a" , UNICODE_ENCODING , buffering = 0 )
568+ conf .resultsFP = openFile (conf .resultsFile , "a" , UNICODE_ENCODING , buffering = 0 )
567569 except (OSError , IOError ) as ex :
568570 try :
569- warnMsg = "unable to create results file '%s' ('%s'). " % (conf .resultsFilename , getUnicode (ex ))
570- handle , conf .resultsFilename = tempfile .mkstemp (prefix = MKSTEMP_PREFIX .RESULTS , suffix = ".csv" )
571+ warnMsg = "unable to create results file '%s' ('%s'). " % (conf .resultsFile , getUnicode (ex ))
572+ handle , conf .resultsFile = tempfile .mkstemp (prefix = MKSTEMP_PREFIX .RESULTS , suffix = ".csv" )
571573 os .close (handle )
572- conf .resultsFP = openFile (conf .resultsFilename , "w+" , UNICODE_ENCODING , buffering = 0 )
573- warnMsg += "Using temporary file '%s' instead" % conf .resultsFilename
574+ conf .resultsFP = openFile (conf .resultsFile , "w+" , UNICODE_ENCODING , buffering = 0 )
575+ warnMsg += "Using temporary file '%s' instead" % conf .resultsFile
574576 logger .warn (warnMsg )
575577 except IOError as _ :
576578 errMsg = "unable to write to the temporary directory ('%s'). " % _
@@ -579,9 +581,10 @@ def _setResultsFile():
579581 errMsg += "create temporary files and/or directories"
580582 raise SqlmapSystemException (errMsg )
581583
582- conf .resultsFP .writelines ("Target URL,Place,Parameter,Technique(s),Note(s)%s" % os .linesep )
584+ if not found :
585+ conf .resultsFP .writelines ("Target URL,Place,Parameter,Technique(s),Note(s)%s" % os .linesep )
583586
584- logger .info ("using '%s' as the CSV results file in multiple targets mode" % conf .resultsFilename )
587+ logger .info ("using '%s' as the CSV results file in multiple targets mode" % conf .resultsFile )
585588
586589def _createFilesDir ():
587590 """
0 commit comments