Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler. Number of rules (primarily dangerous function names) in C/C++ ruleset: 223 Examining data/rna-star-2.7.6a+dfsg/source/AlignVsTranscript.h Examining data/rna-star-2.7.6a+dfsg/source/BAMbinSortByCoordinate.cpp Examining data/rna-star-2.7.6a+dfsg/source/BAMbinSortByCoordinate.h Examining data/rna-star-2.7.6a+dfsg/source/BAMbinSortUnmapped.cpp Examining data/rna-star-2.7.6a+dfsg/source/BAMbinSortUnmapped.h Examining data/rna-star-2.7.6a+dfsg/source/BAMfunctions.h Examining data/rna-star-2.7.6a+dfsg/source/BAMoutput.cpp Examining data/rna-star-2.7.6a+dfsg/source/BAMoutput.h Examining data/rna-star-2.7.6a+dfsg/source/Chain.cpp Examining data/rna-star-2.7.6a+dfsg/source/Chain.h Examining data/rna-star-2.7.6a+dfsg/source/ChimericAlign.cpp Examining data/rna-star-2.7.6a+dfsg/source/ChimericAlign.h Examining data/rna-star-2.7.6a+dfsg/source/ChimericAlign_chimericBAMoutput.cpp Examining data/rna-star-2.7.6a+dfsg/source/ChimericAlign_chimericJunctionOutput.cpp Examining data/rna-star-2.7.6a+dfsg/source/ChimericAlign_chimericStitching.cpp Examining data/rna-star-2.7.6a+dfsg/source/ChimericDetection.cpp Examining data/rna-star-2.7.6a+dfsg/source/ChimericDetection.h Examining data/rna-star-2.7.6a+dfsg/source/ChimericDetection_chimericDetectionMult.cpp Examining data/rna-star-2.7.6a+dfsg/source/ChimericSegment.cpp Examining data/rna-star-2.7.6a+dfsg/source/ChimericSegment.h Examining data/rna-star-2.7.6a+dfsg/source/ChimericTranscript.h Examining data/rna-star-2.7.6a+dfsg/source/ErrorWarning.cpp Examining data/rna-star-2.7.6a+dfsg/source/ErrorWarning.h Examining data/rna-star-2.7.6a+dfsg/source/GTF.cpp Examining data/rna-star-2.7.6a+dfsg/source/GTF.h Examining data/rna-star-2.7.6a+dfsg/source/GTF_superTranscript.cpp Examining data/rna-star-2.7.6a+dfsg/source/GTF_transcriptGeneSJ.cpp Examining data/rna-star-2.7.6a+dfsg/source/Genome.cpp Examining data/rna-star-2.7.6a+dfsg/source/Genome.h Examining data/rna-star-2.7.6a+dfsg/source/Genome_consensusSequence.cpp Examining data/rna-star-2.7.6a+dfsg/source/Genome_genomeGenerate.cpp Examining data/rna-star-2.7.6a+dfsg/source/Genome_genomeOutLoad.cpp Examining data/rna-star-2.7.6a+dfsg/source/Genome_insertSequences.cpp Examining data/rna-star-2.7.6a+dfsg/source/Genome_transformGenome.cpp Examining data/rna-star-2.7.6a+dfsg/source/GlobalVariables.cpp Examining data/rna-star-2.7.6a+dfsg/source/GlobalVariables.h Examining data/rna-star-2.7.6a+dfsg/source/InOutStreams.cpp Examining data/rna-star-2.7.6a+dfsg/source/InOutStreams.h Examining data/rna-star-2.7.6a+dfsg/source/OutSJ.cpp Examining data/rna-star-2.7.6a+dfsg/source/OutSJ.h Examining data/rna-star-2.7.6a+dfsg/source/PackedArray.cpp Examining data/rna-star-2.7.6a+dfsg/source/PackedArray.h Examining data/rna-star-2.7.6a+dfsg/source/ParameterInfo.h Examining data/rna-star-2.7.6a+dfsg/source/Parameters.cpp Examining data/rna-star-2.7.6a+dfsg/source/Parameters.h Examining data/rna-star-2.7.6a+dfsg/source/ParametersChimeric.h Examining data/rna-star-2.7.6a+dfsg/source/ParametersChimeric_initialize.cpp Examining data/rna-star-2.7.6a+dfsg/source/ParametersGenome.h Examining data/rna-star-2.7.6a+dfsg/source/ParametersSolo.cpp Examining data/rna-star-2.7.6a+dfsg/source/ParametersSolo.h Examining data/rna-star-2.7.6a+dfsg/source/Parameters_closeReadsFiles.cpp Examining data/rna-star-2.7.6a+dfsg/source/Parameters_openReadsFiles.cpp Examining data/rna-star-2.7.6a+dfsg/source/Parameters_readFilesInit.cpp Examining data/rna-star-2.7.6a+dfsg/source/Parameters_readSAMheader.cpp Examining data/rna-star-2.7.6a+dfsg/source/Parameters_samAttributes.cpp Examining data/rna-star-2.7.6a+dfsg/source/Quantifications.cpp Examining data/rna-star-2.7.6a+dfsg/source/Quantifications.h Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign.h Examining data/rna-star-2.7.6a+dfsg/source/ReadAlignChunk.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlignChunk.h Examining data/rna-star-2.7.6a+dfsg/source/ReadAlignChunk_mapChunk.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlignChunk_processChunks.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_CIGAR.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_alignBAM.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_assignAlignToWindow.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_calcCIGAR.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_chimericDetection.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_chimericDetectionOld.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_chimericDetectionOldOutput.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_chimericDetectionPEmerged.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_createExtendWindowsWithAlign.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_mapOneRead.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_mapOneReadSpliceGraph.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_mappedFilter.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_maxMappableLength2strands.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_multMapSelect.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_oneRead.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_outputAlignments.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_outputSpliceGraphSAM.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_outputTranscriptCIGARp.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_outputTranscriptSAM.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_outputTranscriptSJ.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_outputVariation.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_peOverlapMergeMap.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_quantTranscriptome.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_stitchPieces.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_stitchWindowSeeds.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_storeAligns.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_transformGenome.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAlign_waspMap.cpp Examining data/rna-star-2.7.6a+dfsg/source/ReadAnnotations.h Examining data/rna-star-2.7.6a+dfsg/source/SequenceFuns.cpp Examining data/rna-star-2.7.6a+dfsg/source/SequenceFuns.h Examining data/rna-star-2.7.6a+dfsg/source/SharedMemory.cpp Examining data/rna-star-2.7.6a+dfsg/source/SharedMemory.h Examining data/rna-star-2.7.6a+dfsg/source/SjdbClass.h Examining data/rna-star-2.7.6a+dfsg/source/Solo.cpp Examining data/rna-star-2.7.6a+dfsg/source/Solo.h Examining data/rna-star-2.7.6a+dfsg/source/SoloBarcode.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloBarcode.h Examining data/rna-star-2.7.6a+dfsg/source/SoloBarcode_extractBarcode.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloCommon.h Examining data/rna-star-2.7.6a+dfsg/source/SoloFeature.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloFeature.h Examining data/rna-star-2.7.6a+dfsg/source/SoloFeatureTypes.h Examining data/rna-star-2.7.6a+dfsg/source/SoloFeature_addBAMtags.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloFeature_cellFiltering.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloFeature_collapseUMI.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloFeature_countCBgeneUMI.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloFeature_countSmartSeq.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloFeature_countVelocyto.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloFeature_outputResults.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloFeature_processRecords.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloFeature_quantTranscript.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloFeature_redistributeReadsByCB.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloFeature_statsOutput.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloFeature_sumThreads.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloRead.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloRead.h Examining data/rna-star-2.7.6a+dfsg/source/SoloReadBarcode.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloReadBarcode.h Examining data/rna-star-2.7.6a+dfsg/source/SoloReadBarcodeStats.h Examining data/rna-star-2.7.6a+dfsg/source/SoloReadBarcode_getCBandUMI.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloReadFeature.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloReadFeature.h Examining data/rna-star-2.7.6a+dfsg/source/SoloReadFeatureStats.h Examining data/rna-star-2.7.6a+dfsg/source/SoloReadFeature_inputRecords.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloReadFeature_record.cpp Examining data/rna-star-2.7.6a+dfsg/source/SoloRead_record.cpp Examining data/rna-star-2.7.6a+dfsg/source/SpliceGraph.cpp Examining data/rna-star-2.7.6a+dfsg/source/SpliceGraph.h Examining data/rna-star-2.7.6a+dfsg/source/SpliceGraph_findSuperTr.cpp Examining data/rna-star-2.7.6a+dfsg/source/SpliceGraph_swScoreSpliced.cpp Examining data/rna-star-2.7.6a+dfsg/source/SpliceGraph_swTraceBack.cpp Examining data/rna-star-2.7.6a+dfsg/source/Stats.cpp Examining data/rna-star-2.7.6a+dfsg/source/Stats.h Examining data/rna-star-2.7.6a+dfsg/source/SuffixArrayFuns.cpp Examining data/rna-star-2.7.6a+dfsg/source/SuffixArrayFuns.h Examining data/rna-star-2.7.6a+dfsg/source/SuperTranscriptome.cpp Examining data/rna-star-2.7.6a+dfsg/source/SuperTranscriptome.h Examining data/rna-star-2.7.6a+dfsg/source/Test.hpp Examining data/rna-star-2.7.6a+dfsg/source/ThreadControl.cpp Examining data/rna-star-2.7.6a+dfsg/source/ThreadControl.h Examining data/rna-star-2.7.6a+dfsg/source/TimeFunctions.cpp Examining data/rna-star-2.7.6a+dfsg/source/TimeFunctions.h Examining data/rna-star-2.7.6a+dfsg/source/Transcript.cpp Examining data/rna-star-2.7.6a+dfsg/source/Transcript.h Examining data/rna-star-2.7.6a+dfsg/source/Transcript_alignScore.cpp Examining data/rna-star-2.7.6a+dfsg/source/Transcript_convertGenomeCigar.cpp Examining data/rna-star-2.7.6a+dfsg/source/Transcript_generateCigarP.cpp Examining data/rna-star-2.7.6a+dfsg/source/Transcript_transformGenome.cpp Examining data/rna-star-2.7.6a+dfsg/source/Transcript_variationAdjust.cpp Examining data/rna-star-2.7.6a+dfsg/source/Transcript_variationOutput.cpp Examining data/rna-star-2.7.6a+dfsg/source/Transcriptome.cpp Examining data/rna-star-2.7.6a+dfsg/source/Transcriptome.h Examining data/rna-star-2.7.6a+dfsg/source/Transcriptome_classifyAlign.cpp Examining data/rna-star-2.7.6a+dfsg/source/Transcriptome_geneCountsAddAlign.cpp Examining data/rna-star-2.7.6a+dfsg/source/Transcriptome_geneFullAlignOverlap.cpp Examining data/rna-star-2.7.6a+dfsg/source/Transcriptome_quantAlign.cpp Examining data/rna-star-2.7.6a+dfsg/source/Variation.cpp Examining data/rna-star-2.7.6a+dfsg/source/Variation.h Examining data/rna-star-2.7.6a+dfsg/source/bamRemoveDuplicates.h Examining data/rna-star-2.7.6a+dfsg/source/bamSortByCoordinate.cpp Examining data/rna-star-2.7.6a+dfsg/source/bamSortByCoordinate.h Examining data/rna-star-2.7.6a+dfsg/source/binarySearch2.cpp Examining data/rna-star-2.7.6a+dfsg/source/binarySearch2.h Examining data/rna-star-2.7.6a+dfsg/source/blocksOverlap.cpp Examining data/rna-star-2.7.6a+dfsg/source/blocksOverlap.h Examining data/rna-star-2.7.6a+dfsg/source/extendAlign.cpp Examining data/rna-star-2.7.6a+dfsg/source/extendAlign.h Examining data/rna-star-2.7.6a+dfsg/source/funCompareUintAndSuffixes.cpp Examining data/rna-star-2.7.6a+dfsg/source/funCompareUintAndSuffixes.h Examining data/rna-star-2.7.6a+dfsg/source/funCompareUintAndSuffixesMemcmp.cpp Examining data/rna-star-2.7.6a+dfsg/source/funCompareUintAndSuffixesMemcmp.h Examining data/rna-star-2.7.6a+dfsg/source/genomeGenerate.h Examining data/rna-star-2.7.6a+dfsg/source/genomeParametersWrite.cpp Examining data/rna-star-2.7.6a+dfsg/source/genomeParametersWrite.h Examining data/rna-star-2.7.6a+dfsg/source/genomeSAindex.cpp Examining data/rna-star-2.7.6a+dfsg/source/genomeSAindex.h Examining data/rna-star-2.7.6a+dfsg/source/genomeScanFastaFiles.cpp Examining data/rna-star-2.7.6a+dfsg/source/genomeScanFastaFiles.h Examining data/rna-star-2.7.6a+dfsg/source/insertSeqSA.cpp Examining data/rna-star-2.7.6a+dfsg/source/insertSeqSA.h Examining data/rna-star-2.7.6a+dfsg/source/mapThreadsSpawn.cpp Examining data/rna-star-2.7.6a+dfsg/source/mapThreadsSpawn.h Examining data/rna-star-2.7.6a+dfsg/source/outputSJ.cpp Examining data/rna-star-2.7.6a+dfsg/source/outputSJ.h Examining data/rna-star-2.7.6a+dfsg/source/readLoad.cpp Examining data/rna-star-2.7.6a+dfsg/source/readLoad.h Examining data/rna-star-2.7.6a+dfsg/source/samHeaders.cpp Examining data/rna-star-2.7.6a+dfsg/source/samHeaders.h Examining data/rna-star-2.7.6a+dfsg/source/serviceFuns.cpp Examining data/rna-star-2.7.6a+dfsg/source/signalFromBAM.cpp Examining data/rna-star-2.7.6a+dfsg/source/sjAlignSplit.cpp Examining data/rna-star-2.7.6a+dfsg/source/sjAlignSplit.h Examining data/rna-star-2.7.6a+dfsg/source/sjdbBuildIndex.cpp Examining data/rna-star-2.7.6a+dfsg/source/sjdbBuildIndex.h Examining data/rna-star-2.7.6a+dfsg/source/sjdbInsertJunctions.cpp Examining data/rna-star-2.7.6a+dfsg/source/sjdbInsertJunctions.h Examining data/rna-star-2.7.6a+dfsg/source/sjdbLoadFromFiles.cpp Examining data/rna-star-2.7.6a+dfsg/source/sjdbLoadFromFiles.h Examining data/rna-star-2.7.6a+dfsg/source/sjdbLoadFromStream.cpp Examining data/rna-star-2.7.6a+dfsg/source/sjdbLoadFromStream.h Examining data/rna-star-2.7.6a+dfsg/source/sjdbPrepare.cpp Examining data/rna-star-2.7.6a+dfsg/source/sjdbPrepare.h Examining data/rna-star-2.7.6a+dfsg/source/soloInputFeatureUMI.cpp Examining data/rna-star-2.7.6a+dfsg/source/soloInputFeatureUMI.h Examining data/rna-star-2.7.6a+dfsg/source/sortSuffixesBucket.h Examining data/rna-star-2.7.6a+dfsg/source/stitchAlignToTranscript.cpp Examining data/rna-star-2.7.6a+dfsg/source/stitchAlignToTranscript.h Examining data/rna-star-2.7.6a+dfsg/source/stitchGapIndel.cpp Examining data/rna-star-2.7.6a+dfsg/source/stitchWindowAligns.cpp Examining data/rna-star-2.7.6a+dfsg/source/stitchWindowAligns.h Examining data/rna-star-2.7.6a+dfsg/source/streamFuns.cpp Examining data/rna-star-2.7.6a+dfsg/source/streamFuns.h Examining data/rna-star-2.7.6a+dfsg/source/stringSubstituteAll.cpp Examining data/rna-star-2.7.6a+dfsg/source/stringSubstituteAll.h Examining data/rna-star-2.7.6a+dfsg/source/sysRemoveDir.cpp Examining data/rna-star-2.7.6a+dfsg/source/sysRemoveDir.h Examining data/rna-star-2.7.6a+dfsg/source/twoPassRunPass1.cpp Examining data/rna-star-2.7.6a+dfsg/source/twoPassRunPass1.h Examining data/rna-star-2.7.6a+dfsg/source/bamRemoveDuplicates.cpp Examining data/rna-star-2.7.6a+dfsg/source/bam_cat.c Examining data/rna-star-2.7.6a+dfsg/source/signalFromBAM.h Examining data/rna-star-2.7.6a+dfsg/source/BAMfunctions.cpp Examining data/rna-star-2.7.6a+dfsg/source/STAR.cpp Examining data/rna-star-2.7.6a+dfsg/source/bam_cat.h Examining data/rna-star-2.7.6a+dfsg/source/IncludeDefine.h Examining data/rna-star-2.7.6a+dfsg/source/Genome_genomeLoad.cpp FINAL RESULTS: data/rna-star-2.7.6a+dfsg/source/Parameters_openReadsFiles.cpp:77:13: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. chmod(readsCommandFileName.at(imate).c_str(),S_IXUSR | S_IRUSR | S_IWUSR); data/rna-star-2.7.6a+dfsg/source/Parameters_openReadsFiles.cpp:52:17: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. system(("ls -lL " + readFilesNames[imate][ifile] + " > "+ outFileTmp+"/readFilesIn.info 2>&1").c_str()); data/rna-star-2.7.6a+dfsg/source/Parameters_openReadsFiles.cpp:92:21: [4] (shell) execlp: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. execlp(readsCommandFileName.at(imate).c_str(), readsCommandFileName.at(imate).c_str(), (char*) NULL); data/rna-star-2.7.6a+dfsg/source/Parameters_readSAMheader.cpp:32:9: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. system(com1.c_str()); data/rna-star-2.7.6a+dfsg/source/ReadAlignChunk_processChunks.cpp:63:66: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. chunkInSizeBytesTotal[imate1] += sprintf(chunkIn[imate1] + chunkInSizeBytesTotal[imate1], "@%s", str1.c_str()); data/rna-star-2.7.6a+dfsg/source/ReadAlignChunk_processChunks.cpp:80:62: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. chunkInSizeBytesTotal[imate1] += sprintf(chunkIn[imate1] + chunkInSizeBytesTotal[imate1], "%s\n%s\n+\n%s\n", str1.c_str(), seq1.c_str(), qual1.c_str()); data/rna-star-2.7.6a+dfsg/source/ReadAlign_alignBAM.cpp:521:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(outBAMarray[imate]+recSize,readName+1); data/rna-star-2.7.6a+dfsg/source/Parameters.h:201:18: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. bool random; data/rna-star-2.7.6a+dfsg/source/ReadAlign_multMapSelect.cpp:80:35: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. if (P.outMultimapperOrder.random || P.outSAMmultNmax != (uint) -1 ) {//bring the best alignment to the top of the list. TODO sort alignments by the score? data/rna-star-2.7.6a+dfsg/source/ReadAlign_multMapSelect.cpp:88:35: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. if (P.outMultimapperOrder.random) {//shuffle separately the best aligns, and the rest data/rna-star-2.7.6a+dfsg/source/ReadAlign_multMapSelect.cpp:104:42: [3] (random) random: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. } else if (P.outMultimapperOrder.random || P.outSAMmultNmax != (uint) -1) { data/rna-star-2.7.6a+dfsg/source/BAMbinSortByCoordinate.cpp:19:21: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). bamInStream.open(bamInFile.c_str(),std::ios::binary | std::ios::ate);//open at the end to get file size data/rna-star-2.7.6a+dfsg/source/BAMbinSortByCoordinate.cpp:65:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char bam1[BAM_ATTR_MaxSize];//temp array data/rna-star-2.7.6a+dfsg/source/BAMbinSortUnmapped.cpp:35:25: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). bamInStream[it].open(bamInFile.at(it).c_str());//opean all files data/rna-star-2.7.6a+dfsg/source/BAMbinSortUnmapped.cpp:49:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char bam1[BAM_ATTR_MaxSize];//temp array data/rna-star-2.7.6a+dfsg/source/BAMfunctions.cpp:126:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(attrArray+3,attr.c_str(),attr.size()+1);//copy string data including \0 data/rna-star-2.7.6a+dfsg/source/BAMfunctions.cpp:134:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(attrArray+4+sizeof(int32),attr.data(),attr.size());//copy array data data/rna-star-2.7.6a+dfsg/source/BAMfunctions.cpp:142:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(attrArray+4+sizeof(int32),attr.data(),sizeof(int32)*attr.size());//copy array data data/rna-star-2.7.6a+dfsg/source/BAMoutput.cpp:65:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(bamArray+binBytes1, bamIn, bamSize); data/rna-star-2.7.6a+dfsg/source/BAMoutput.cpp:109:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(binStart[iBin]+binBytes[iBin], bamIn, bamSize); data/rna-star-2.7.6a+dfsg/source/BAMoutput.cpp:111:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(binStart[iBin]+binBytes[iBin], &iRead, sizeof(uint)); data/rna-star-2.7.6a+dfsg/source/BAMoutput.cpp:151:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(binStartOld,binStart[0],binBytes[0]); data/rna-star-2.7.6a+dfsg/source/BAMoutput.cpp:185:22: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). binStream[iBin]->open((bamDir +"/"+to_string(iBin)+".BySJout").c_str()); data/rna-star-2.7.6a+dfsg/source/ChimericAlign_chimericBAMoutput.cpp:95:13: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( (void*) (RA->outBAMoneAlign[ii]+RA->outBAMoneAlignNbytes[ii]), tagSA1.c_str(), tagSA1.size()+1);//copy string including \0 at the end data/rna-star-2.7.6a+dfsg/source/GTF_superTranscript.cpp:251:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(G+chrStart[ii],vecSeq[ii].data(),vecSeq[ii].size()); data/rna-star-2.7.6a+dfsg/source/GTF_transcriptGeneSJ.cpp:140:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char strandChar[3]={'.','+','-'}; data/rna-star-2.7.6a+dfsg/source/Genome.cpp:46:12: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). stream.open((pGe.gDir+ "/" +name).c_str(), ios::binary); data/rna-star-2.7.6a+dfsg/source/Genome.cpp:146:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char chrInChar[1000]; data/rna-star-2.7.6a+dfsg/source/Genome.cpp:163:17: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). chrStreamIn.open( (pGe.gDir+"/chrLength.txt").c_str() ); data/rna-star-2.7.6a+dfsg/source/Genome.cpp:177:17: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). chrStreamIn.open( (pGe.gDir+"/chrStart.txt").c_str() ); data/rna-star-2.7.6a+dfsg/source/Genome_transformGenome.cpp:71:30: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int32 gt=atoi(&sample.at(ih*2)); //process genotype info in the form of 0|1, i.e. 0th char and 2nd char data/rna-star-2.7.6a+dfsg/source/Genome_transformGenome.cpp:216:13: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(Gnew+chrStart1[ichr], G+chrStart[ichr], chrLength[ichr]); data/rna-star-2.7.6a+dfsg/source/Genome_transformGenome.cpp:231:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char s0[seq[0].size()]; data/rna-star-2.7.6a+dfsg/source/Genome_transformGenome.cpp:237:17: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char s1[seq[1].size()]; data/rna-star-2.7.6a+dfsg/source/Genome_transformGenome.cpp:239:17: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(Gnew+g1, s1, seq[1].size()); data/rna-star-2.7.6a+dfsg/source/OutSJ.cpp:52:17: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(isj1P,isjP,oneSJ.dataSize); data/rna-star-2.7.6a+dfsg/source/Parameters.cpp:352:20: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). inOut->logMain.open(outLogFileName.c_str()); data/rna-star-2.7.6a+dfsg/source/Parameters.cpp:370:30: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). inOut->logStdOutFile.open((outFileNamePrefix + "Log.std.out").c_str()); data/rna-star-2.7.6a+dfsg/source/Parameters.cpp:567:28: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). inOut->logProgress.open((outFileNamePrefix + "Log.progress.out").c_str()); data/rna-star-2.7.6a+dfsg/source/Parameters.cpp:655:35: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). inOut->outSAMfile.open((outFileNamePrefix + "Aligned.out.sam").c_str()); data/rna-star-2.7.6a+dfsg/source/Parameters.cpp:837:54: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). inOut->outUnmappedReadsStream[imate].open(ff.str().c_str()); data/rna-star-2.7.6a+dfsg/source/Parameters.cpp:1041:35: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). inOut->outLocalChains.open((outFileNamePrefix + "LocalChains.out.tab").c_str()); data/rna-star-2.7.6a+dfsg/source/Parameters.cpp:1044:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(genomeNumToNT,"ACGTN"); data/rna-star-2.7.6a+dfsg/source/Parameters.h:49:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char genomeNumToNT[6]; data/rna-star-2.7.6a+dfsg/source/Parameters.h:86:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *clip3pAdapterSeqNum[MAX_N_MATES];//adapter sequence - numerical data/rna-star-2.7.6a+dfsg/source/ParametersChimeric_initialize.cpp:41:31: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). pP->inOut->outChimSAM.open((pP->outFileNamePrefix + "Chimeric.out.sam").c_str()); data/rna-star-2.7.6a+dfsg/source/ParametersChimeric_initialize.cpp:46:36: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). pP->inOut->outChimJunction.open((pP->outFileNamePrefix + "Chimeric.out.junction").c_str()); data/rna-star-2.7.6a+dfsg/source/Parameters_openReadsFiles.cpp:14:31: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). inOut->readIn[ii].open(rfName.c_str()); //try to open the Sequences file right away, exit if failed data/rna-star-2.7.6a+dfsg/source/Parameters_openReadsFiles.cpp:43:30: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). readsCommandFile.open( readsCommandFileName.at(imate).c_str(), ios::in | ios::out); data/rna-star-2.7.6a+dfsg/source/Parameters_openReadsFiles.cpp:82:23: [2] (race) vfork: On some old systems, vfork() permits race conditions, and it's very difficult to use correctly (CWE-362). Use fork() instead. pid_t PID=vfork(); data/rna-star-2.7.6a+dfsg/source/Parameters_openReadsFiles.cpp:100:34: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). inOut->readIn[imate].open(readFilesInTmp.at(imate).c_str()); data/rna-star-2.7.6a+dfsg/source/Parameters_readSAMheader.cpp:33:19: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). tmpFifoIn.open(tmpFifo); data/rna-star-2.7.6a+dfsg/source/ReadAlign.h:108:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dummyChar[4096]; data/rna-star-2.7.6a+dfsg/source/ReadAlignChunk.cpp:112:16: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fstreamOut.open(fName1.c_str(),ios::out); //create empty file data/rna-star-2.7.6a+dfsg/source/ReadAlignChunk.cpp:114:16: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fstreamOut.open(fName1.c_str(), ios::in | ios::out); //re-open the file in in/out mode data/rna-star-2.7.6a+dfsg/source/ReadAlignChunk_mapChunk.cpp:19:25: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). chunkOutBAMfile.open(chunkOutBAMfileName.c_str()); data/rna-star-2.7.6a+dfsg/source/ReadAlignChunk_processChunks.cpp:61:66: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. chunkInSizeBytesTotal[imate1] += sprintf(chunkIn[imate1] + chunkInSizeBytesTotal[imate1], "@%llu", P.iReadAll); data/rna-star-2.7.6a+dfsg/source/ReadAlignChunk_processChunks.cpp:67:62: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. chunkInSizeBytesTotal[imate1] += sprintf(chunkIn[imate1] + chunkInSizeBytesTotal[imate1], " %llu %c %i", P.iReadAll, passFilterIllumina, P.readFilesIndex); data/rna-star-2.7.6a+dfsg/source/ReadAlignChunk_processChunks.cpp:163:65: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. chunkInSizeBytesTotal[imate] += sprintf(chunkIn[imate] + chunkInSizeBytesTotal[imate], ">%llu", P.iReadAll); data/rna-star-2.7.6a+dfsg/source/ReadAlignChunk_processChunks.cpp:171:61: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. chunkInSizeBytesTotal[imate] += sprintf(chunkIn[imate] + chunkInSizeBytesTotal[imate], " %llu %c %i \n", P.iReadAll, 'N', P.readFilesIndex); data/rna-star-2.7.6a+dfsg/source/ReadAlign_alignBAM.cpp:109:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char attrOutArray[BAM_ATTR_MaxSize]; data/rna-star-2.7.6a+dfsg/source/ReadAlign_alignBAM.cpp:427:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char seqMate[DEF_readSeqLengthMax+1], qualMate[DEF_readSeqLengthMax+1]; data/rna-star-2.7.6a+dfsg/source/ReadAlign_alignBAM.cpp:525:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(outBAMarray[imate]+recSize,packedCIGAR, nCIGAR*sizeof(int32)); data/rna-star-2.7.6a+dfsg/source/ReadAlign_alignBAM.cpp:529:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(outBAMarray[imate]+recSize,seqMate,(seqMateLength+1)/2); data/rna-star-2.7.6a+dfsg/source/ReadAlign_alignBAM.cpp:544:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(outBAMarray[imate]+recSize,attrOutArray,attrN); data/rna-star-2.7.6a+dfsg/source/ReadAlign_outputSpliceGraphSAM.cpp:45:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char seqRev[DEF_readSeqLengthMax+1], qualRev[DEF_readSeqLengthMax+1]; data/rna-star-2.7.6a+dfsg/source/ReadAlign_outputTranscriptSAM.cpp:200:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char seqMate[DEF_readSeqLengthMax+1], qualMate[DEF_readSeqLengthMax+1]; data/rna-star-2.7.6a+dfsg/source/ReadAlign_waspMap.cpp:103:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(Read1[ii],r.Read1[ii],Lread);//need to copy since it will be changed data/rna-star-2.7.6a+dfsg/source/STAR.cpp:224:23: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). P.inOut->logFinal.open((P.outFileNamePrefix + "Log.final.out").c_str()); data/rna-star-2.7.6a+dfsg/source/SoloFeature_addBAMtags.cpp:15:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(bam1, bam0, size0); data/rna-star-2.7.6a+dfsg/source/SoloFeature_countSmartSeq.cpp:122:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( (void*) (countCellGeneUMI.data() + countCellGeneUMIindex[icb]), (void*) vCellFeatureCount[icb].data(), vCellFeatureCount[icb].size()*countMatStride*sizeof(countCellGeneUMI[0])); data/rna-star-2.7.6a+dfsg/source/TimeFunctions.cpp:6:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char timeChar[100]; data/rna-star-2.7.6a+dfsg/source/TimeFunctions.cpp:15:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char timeChar[100]; data/rna-star-2.7.6a+dfsg/source/Variation.cpp:54:37: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). } else if (altV.at( atoi(&sample.at(0)) ).at(0)==ref.at(0) && altV.at( atoi(&sample.at(2)) ).at(0)==ref.at(0)) { data/rna-star-2.7.6a+dfsg/source/Variation.cpp:54:88: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). } else if (altV.at( atoi(&sample.at(0)) ).at(0)==ref.at(0) && altV.at( atoi(&sample.at(2)) ).at(0)==ref.at(0)) { data/rna-star-2.7.6a+dfsg/source/Variation.cpp:60:53: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nt1[1]=convertNt01234( altV.at( atoi(&sample.at(0)) ).at(0) ); data/rna-star-2.7.6a+dfsg/source/Variation.cpp:61:53: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nt1[2]=convertNt01234( altV.at( atoi(&sample.at(2)) ).at(0) ); data/rna-star-2.7.6a+dfsg/source/bamRemoveDuplicates.cpp:49:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((char*) cout, (char*) (cig+1), n1*sizeof(uint32));//copy CIGAR starting from the 2nd operation data/rna-star-2.7.6a+dfsg/source/bamRemoveDuplicates.cpp:52:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((char*) cout, (char*) cig, n*sizeof(uint32));//copy full CIGAR data/rna-star-2.7.6a+dfsg/source/bamRemoveDuplicates.cpp:231:17: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((char*) aD1, (char*) aD, grN*sizeof(uint)); data/rna-star-2.7.6a+dfsg/source/bam_cat.c:112:17: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ebuf,ebuf+len,diff); data/rna-star-2.7.6a+dfsg/source/bam_cat.c:113:17: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ebuf+diff,buf,len); data/rna-star-2.7.6a+dfsg/source/bam_cat.c:117:17: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ebuf,buf+len,es); data/rna-star-2.7.6a+dfsg/source/genomeScanFastaFiles.cpp:16:16: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fileIn.open(mapGen.pGe.gFastaFiles.at(ii).c_str()); data/rna-star-2.7.6a+dfsg/source/insertSeqSA.cpp:65:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(seq1[0], G1, nG1); data/rna-star-2.7.6a+dfsg/source/outputSJ.cpp:68:13: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(allSJ.data+allSJ.N*oneSJ.dataSize,sjChunks[icOut],oneSJ.dataSize); data/rna-star-2.7.6a+dfsg/source/sjdbBuildIndex.cpp:293:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(G+mapGen.chrStart[mapGen.nChrReal],Gsj, nGsj); data/rna-star-2.7.6a+dfsg/source/sjdbPrepare.cpp:198:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char strandChar[3]={'.','+','-'}; data/rna-star-2.7.6a+dfsg/source/sjdbPrepare.cpp:211:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(Gsj+sjGstart,G+mapGen.sjDstart[ii],mapGen.sjdbOverhang);//sjdbStart contains 1-based intron loci data/rna-star-2.7.6a+dfsg/source/sjdbPrepare.cpp:212:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(Gsj+sjGstart+mapGen.sjdbOverhang,G+mapGen.sjAstart[ii],mapGen.sjdbOverhang);//sjdbStart contains 1-based intron loci data/rna-star-2.7.6a+dfsg/source/BAMbinSortByCoordinate.cpp:23:25: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bamInStream.read(bamIn+bamInBytes,s1);//read the whole file data/rna-star-2.7.6a+dfsg/source/BAMbinSortUnmapped.cpp:37:25: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bamInStream[it].read(bamIn[it],sizeof(int32));//read BAM record size data/rna-star-2.7.6a+dfsg/source/BAMbinSortUnmapped.cpp:40:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bamInStream[it].read(bamIn[it]+sizeof(int32),bamSize.at(it)-sizeof(int32)+sizeof(uint64));//read the rest of the record, including last uint = iRead data/rna-star-2.7.6a+dfsg/source/BAMbinSortUnmapped.cpp:63:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bamInStream[it].read(bamIn[it],sizeof(int32));//read record size data/rna-star-2.7.6a+dfsg/source/BAMbinSortUnmapped.cpp:66:34: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bamInStream[it].read(bamIn[it]+sizeof(int32),bamSize.at(it)-sizeof(int32)+sizeof(uint));//read the rest of the record, including data/rna-star-2.7.6a+dfsg/source/ReadAlignChunk_processChunks.cpp:166:65: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). chunkInSizeBytesTotal[imate] += strlen(chunkIn[imate] + chunkInSizeBytesTotal[imate]); data/rna-star-2.7.6a+dfsg/source/ReadAlign_alignBAM.cpp:476:37: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). |( MAPQ<<8 ) | ( strlen(readName) ) ); //note:read length includes 0-char data/rna-star-2.7.6a+dfsg/source/ReadAlign_alignBAM.cpp:478:46: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). pBAM[3]=( reg2bin(-1,0) << 16 | strlen(readName) );//4680=reg2bin(-1,0) data/rna-star-2.7.6a+dfsg/source/ReadAlign_alignBAM.cpp:522:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). recSize+=strlen(readName); data/rna-star-2.7.6a+dfsg/source/readLoad.cpp:14:9: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(readName)>=DEF_readNameLengthMax-1) { data/rna-star-2.7.6a+dfsg/source/streamFuns.cpp:42:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). S.read(A+C,fstream_Chunk_Max); data/rna-star-2.7.6a+dfsg/source/streamFuns.cpp:46:7: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). S.read(A+C,N%fstream_Chunk_Max); ANALYSIS SUMMARY: Hits = 102 Lines analyzed = 24085 in approximately 0.73 seconds (32801 lines/second) Physical Source Lines of Code (SLOC) = 18331 Hits@level = [0] 5 [1] 12 [2] 79 [3] 4 [4] 6 [5] 1 Hits@level+ = [0+] 107 [1+] 102 [2+] 90 [3+] 11 [4+] 7 [5+] 1 Hits/KSLOC@level+ = [0+] 5.83711 [1+] 5.56434 [2+] 4.90972 [3+] 0.600076 [4+] 0.381867 [5+] 0.0545524 Dot directories skipped = 1 (--followdotdir overrides) Minimum risk level = 1 Not every hit is necessarily a security vulnerability. There may be other security vulnerabilities; review your code! See 'Secure Programming HOWTO' (https://dwheeler.com/secure-programs) for more information.