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/libetonyek-0.1.9/inc/libetonyek/libetonyek.h Examining data/libetonyek-0.1.9/inc/libetonyek/EtonyekDocument.h Examining data/libetonyek-0.1.9/src/lib/KEY6ObjectType.h Examining data/libetonyek-0.1.9/src/lib/IWORKOutputManager.cpp Examining data/libetonyek-0.1.9/src/lib/KEYProperties.cpp Examining data/libetonyek-0.1.9/src/lib/KEY6Parser.h Examining data/libetonyek-0.1.9/src/lib/PAG1Token.h Examining data/libetonyek-0.1.9/src/lib/IWORKStyle.h Examining data/libetonyek-0.1.9/src/lib/IWORKTransformation.cpp Examining data/libetonyek-0.1.9/src/lib/KEY2ParserState.h Examining data/libetonyek-0.1.9/src/lib/NUM1Parser.h Examining data/libetonyek-0.1.9/src/lib/PAG1XMLContextBase.h Examining data/libetonyek-0.1.9/src/lib/IWORKXMLContext.h Examining data/libetonyek-0.1.9/src/lib/libetonyek_xml.h Examining data/libetonyek-0.1.9/src/lib/IWORKTypes_fwd.h Examining data/libetonyek-0.1.9/src/lib/IWORKTypes.cpp Examining data/libetonyek-0.1.9/src/lib/NUM1XMLContextBase.h Examining data/libetonyek-0.1.9/src/lib/IWORKPropertyHandler.h Examining data/libetonyek-0.1.9/src/lib/KEY1Dictionary.cpp Examining data/libetonyek-0.1.9/src/lib/KEY2ParserState.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKOutputElements.h Examining data/libetonyek-0.1.9/src/lib/IWORKLanguageManager.h Examining data/libetonyek-0.1.9/src/lib/IWORKParser.h Examining data/libetonyek-0.1.9/src/lib/KEY2Parser.h Examining data/libetonyek-0.1.9/src/lib/IWORKTokenizer.h Examining data/libetonyek-0.1.9/src/lib/IWORKDictionary.h Examining data/libetonyek-0.1.9/src/lib/libetonyek_xml.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKXMLContextBase.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKTokenizerBase.cpp Examining data/libetonyek-0.1.9/src/lib/libetonyek_utils.cpp Examining data/libetonyek-0.1.9/src/lib/KEYTypes_fwd.h Examining data/libetonyek-0.1.9/src/lib/IWORKZlibStream.h Examining data/libetonyek-0.1.9/src/lib/IWORKPresentationRedirector.cpp Examining data/libetonyek-0.1.9/src/lib/IWASnappyStream.h Examining data/libetonyek-0.1.9/src/lib/IWORKSubDirStream.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKTokenizerBase.h Examining data/libetonyek-0.1.9/src/lib/IWAReader.h Examining data/libetonyek-0.1.9/src/lib/KEY2Token.cpp Examining data/libetonyek-0.1.9/src/lib/IWAObjectType.h Examining data/libetonyek-0.1.9/src/lib/KEY1XMLContextBase.h Examining data/libetonyek-0.1.9/src/lib/KEY1ParserState.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKParser.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKTextRedirector.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKDocumentInterface.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKSpreadsheetRedirector.h Examining data/libetonyek-0.1.9/src/lib/PAGProperties.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKLayoutElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKListLabelTypesProperty.h Examining data/libetonyek-0.1.9/src/lib/contexts/PAG1AnnotationContext.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKListLabelTypeinfoElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKPropertyContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKPropertyContextBase.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKBrContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/KEY1ContentElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTabsElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/PAG1ShapeContext.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKColorElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKWrapElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKFormatElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTextStorageElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKStyleContext.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/KEY1FillElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKStyleContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKListLabelGeometryElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKDirectCollector.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKCalcEngineContext.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKCalcEngineContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKPushCollector.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKStyleContainer.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKStrokeContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/PAG1FootnotesElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKStylesheetBase.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKListLabelGeometriesProperty.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKFilteredImageElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/KEY1DivElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTextBodyElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKListLabelIndentsProperty.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKMediaElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/PAG1ShapeContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTextElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKColorElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTabularInfoElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKBinaryElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKPathElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKNumberConverter.h Examining data/libetonyek-0.1.9/src/lib/contexts/PAG1AnnotationContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKLineElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKListTextIndentsProperty.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKImageContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKStylesContext.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKPositionElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/PAG1AnnotationElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/KEY2StyleContext.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKChartInfoElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKListLabelTypesProperty.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/PAG1StyleContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKCoreImageFilterDescriptorElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKGeometryElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/KEY1FillElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKBezierElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKFilteredImageElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKStyleRefContext.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKNumberConverter.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/KEY1StringConverter.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKMediaElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/PAG1TextStorageElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKDataElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKGroupElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/PAG1TextStorageElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKSizeElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKListLabelGeometriesProperty.h Examining data/libetonyek-0.1.9/src/lib/contexts/PAG1AnnotationElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKMetadataElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKPElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKRefContext.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/KEY1StylesContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTabElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKValueContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKGeometryElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKFieldElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKPtrPropertyContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKListLabelIndentsProperty.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKStrokeContext.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTabularModelElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTextBodyElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKSpanElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKRefContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKHeaderFooterContext.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTextLabelElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKShapeContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKLineEndElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKPropertyMapElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/KEY1ContentElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTableInfoElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKWrapElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKFillElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTabularModelElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKImageElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKLinkElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKBrContext.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKShapeContext.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKStylesContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKStyleRefContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/KEY1StylesContext.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKChartInfoElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTextStorageElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKBezierElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKStylesheetBase.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKStringElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/KEY1TableElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/KEY1SpanElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKFormulaElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKPElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKDataElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/KEY1StringConverter.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKFieldElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKImageElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKUnfilteredElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKFormulaElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKSpanElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKFillElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKMetadataElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKGroupElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKListLabelTypeinfoElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/KEY1DivElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKPositionElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKNumericPropertyContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/PAG1FootnotesElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKPathElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/KEY2StyleContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKNumberElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/KEY1TableElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTabsElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKListLabelGeometryElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTabElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/PAG1StyleContext.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKPropertyContextBase.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTableInfoElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKPropertyMapElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKLinkElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKLineElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKListTextIndentsProperty.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKMutableArrayElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKHeaderFooterContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKBinaryElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKCoreImageFilterDescriptorElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/KEY1SpanElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTabularInfoElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKLineEndElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKStringElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKImageContext.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTextElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKLayoutElement.cpp Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKFormatElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKContainerContext.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKSizeElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKUnfilteredElement.h Examining data/libetonyek-0.1.9/src/lib/contexts/IWORKTextLabelElement.h Examining data/libetonyek-0.1.9/src/lib/IWAField.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKOutputElements.cpp Examining data/libetonyek-0.1.9/src/lib/PAGCollector.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKText.cpp Examining data/libetonyek-0.1.9/src/lib/KEY2Dictionary.cpp Examining data/libetonyek-0.1.9/src/lib/KEY2Parser.cpp Examining data/libetonyek-0.1.9/src/lib/NUM1ParserState.h Examining data/libetonyek-0.1.9/src/lib/NUM1ParserState.cpp Examining data/libetonyek-0.1.9/src/lib/NUM3ObjectType.h Examining data/libetonyek-0.1.9/src/lib/IWORKStyleStack.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKPath_fwd.h Examining data/libetonyek-0.1.9/src/lib/IWORKDiscardContext.h Examining data/libetonyek-0.1.9/src/lib/PAG5Parser.cpp Examining data/libetonyek-0.1.9/src/lib/PAG1Token.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKChart.h Examining data/libetonyek-0.1.9/src/lib/IWAParser.h Examining data/libetonyek-0.1.9/src/lib/IWORKPath.h Examining data/libetonyek-0.1.9/src/lib/IWORKChainedTokenizer.h Examining data/libetonyek-0.1.9/src/lib/IWAText.cpp Examining data/libetonyek-0.1.9/src/lib/KEY6Parser.cpp Examining data/libetonyek-0.1.9/src/lib/PAGTypes.h Examining data/libetonyek-0.1.9/src/lib/IWORKRecorder.cpp Examining data/libetonyek-0.1.9/src/lib/PAGTypes.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKDocumentInterface.h Examining data/libetonyek-0.1.9/src/lib/IWORKShape.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKTable.cpp Examining data/libetonyek-0.1.9/src/lib/KEY1ParserState.h Examining data/libetonyek-0.1.9/src/lib/IWORKProperties.h Examining data/libetonyek-0.1.9/src/lib/IWORKMemoryStream.h Examining data/libetonyek-0.1.9/src/lib/IWORKTextRedirector.h Examining data/libetonyek-0.1.9/src/lib/IWORKProperties.cpp Examining data/libetonyek-0.1.9/src/lib/IWAMessage.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKStylesheet.cpp Examining data/libetonyek-0.1.9/src/lib/KEY1Token.h Examining data/libetonyek-0.1.9/src/lib/IWAObjectIndex.h Examining data/libetonyek-0.1.9/src/lib/KEY1Token.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKMemoryStream.cpp Examining data/libetonyek-0.1.9/src/lib/IWAParser.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKSpreadsheetRedirector.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKTextRecorder.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKDiscardContext.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKPropertyHandler.cpp Examining data/libetonyek-0.1.9/src/lib/KEYTypes.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKTableRecorder.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKPath.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKTransformation.h Examining data/libetonyek-0.1.9/src/lib/IWORKShape.h Examining data/libetonyek-0.1.9/src/lib/IWORKXMLContext.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKPresentationRedirector.h Examining data/libetonyek-0.1.9/src/lib/IWORKTable.h Examining data/libetonyek-0.1.9/src/lib/IWORKLanguageManager.cpp Examining data/libetonyek-0.1.9/src/lib/KEY2XMLContextBase.h Examining data/libetonyek-0.1.9/src/lib/NUM1Token.h Examining data/libetonyek-0.1.9/src/lib/PAGProperties.cpp Examining data/libetonyek-0.1.9/src/lib/PAGEnum.h Examining data/libetonyek-0.1.9/src/lib/IWORKZlibStream.cpp Examining data/libetonyek-0.1.9/src/lib/IWAField.h Examining data/libetonyek-0.1.9/src/lib/IWASnappyStream.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKStyle.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKTableRecorder.h Examining data/libetonyek-0.1.9/src/lib/IWORKXMLContextBase.h Examining data/libetonyek-0.1.9/src/lib/NUM1Dictionary.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKEnum.h Examining data/libetonyek-0.1.9/src/lib/EtonyekDocument.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKOutputManager.h Examining data/libetonyek-0.1.9/src/lib/IWAObjectIndex.cpp Examining data/libetonyek-0.1.9/src/lib/PAG5Parser.h Examining data/libetonyek-0.1.9/src/lib/IWAReader.cpp Examining data/libetonyek-0.1.9/src/lib/PAG5ObjectType.h Examining data/libetonyek-0.1.9/src/lib/IWORKDictionary.cpp Examining data/libetonyek-0.1.9/src/lib/KEY2Dictionary.h Examining data/libetonyek-0.1.9/src/lib/PAG1Dictionary.h Examining data/libetonyek-0.1.9/src/lib/IWORKTextRecorder.h Examining data/libetonyek-0.1.9/src/lib/IWORKTokenizer.cpp Examining data/libetonyek-0.1.9/src/lib/KEY1Parser.h Examining data/libetonyek-0.1.9/src/lib/KEY1Dictionary.h Examining data/libetonyek-0.1.9/src/lib/IWORKCollector.h Examining data/libetonyek-0.1.9/src/lib/PAG1ParserState.h Examining data/libetonyek-0.1.9/src/lib/KEYProperties.h Examining data/libetonyek-0.1.9/src/lib/IWORKStylesheet.h Examining data/libetonyek-0.1.9/src/lib/IWORKPropertyMap.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKToken.h Examining data/libetonyek-0.1.9/src/lib/IWORKXMLParserState.h Examining data/libetonyek-0.1.9/src/lib/libetonyek_utils.h Examining data/libetonyek-0.1.9/src/lib/IWORKXMLParserState.cpp Examining data/libetonyek-0.1.9/src/lib/IWAText.h Examining data/libetonyek-0.1.9/src/lib/IWORKStyleStack.h Examining data/libetonyek-0.1.9/src/lib/NUM3Parser.h Examining data/libetonyek-0.1.9/src/lib/IWORKFormula.cpp Examining data/libetonyek-0.1.9/src/lib/KEYTypes.h Examining data/libetonyek-0.1.9/src/lib/IWORKText_fwd.h Examining data/libetonyek-0.1.9/src/lib/PAGCollector.h Examining data/libetonyek-0.1.9/src/lib/PAG1ParserState.cpp Examining data/libetonyek-0.1.9/src/lib/NUM1Parser.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKRecorder.h Examining data/libetonyek-0.1.9/src/lib/KEYEnum.h Examining data/libetonyek-0.1.9/src/lib/IWAMessage.h Examining data/libetonyek-0.1.9/src/lib/PAG1Parser.cpp Examining data/libetonyek-0.1.9/src/lib/NUM1Token.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKStyle_fwd.h Examining data/libetonyek-0.1.9/src/lib/KEYCollector.h Examining data/libetonyek-0.1.9/src/lib/NUM1Dictionary.h Examining data/libetonyek-0.1.9/src/lib/NUMCollector.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKText.h Examining data/libetonyek-0.1.9/src/lib/IWORKTypes.h Examining data/libetonyek-0.1.9/src/lib/IWORKToken.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKSubDirStream.h Examining data/libetonyek-0.1.9/src/lib/PAG1Parser.h Examining data/libetonyek-0.1.9/src/lib/IWORKChainedTokenizer.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKTokenInfo.h Examining data/libetonyek-0.1.9/src/lib/KEY2Token.h Examining data/libetonyek-0.1.9/src/lib/IWORKPropertyInfo.h Examining data/libetonyek-0.1.9/src/lib/PAG1Dictionary.cpp Examining data/libetonyek-0.1.9/src/lib/NUMCollector.h Examining data/libetonyek-0.1.9/src/lib/IWORKFormula.h Examining data/libetonyek-0.1.9/src/lib/IWORKPropertyMap.h Examining data/libetonyek-0.1.9/src/lib/IWORKChart.cpp Examining data/libetonyek-0.1.9/src/lib/KEY1Parser.cpp Examining data/libetonyek-0.1.9/src/lib/IWORKCollector.cpp Examining data/libetonyek-0.1.9/src/lib/KEYCollector.cpp Examining data/libetonyek-0.1.9/src/lib/NUM3Parser.cpp Examining data/libetonyek-0.1.9/src/test/LibetonyekUtilsTest.cpp Examining data/libetonyek-0.1.9/src/test/test.cpp Examining data/libetonyek-0.1.9/src/test/IWORKTokenizerBaseTest.cpp Examining data/libetonyek-0.1.9/src/test/IWORKPathTest.cpp Examining data/libetonyek-0.1.9/src/test/IWAMessageTest.cpp Examining data/libetonyek-0.1.9/src/test/TestProperties.h Examining data/libetonyek-0.1.9/src/test/IWORKTransformationTest.cpp Examining data/libetonyek-0.1.9/src/test/IWORKSubDirStreamTest.cpp Examining data/libetonyek-0.1.9/src/test/IWORKFormulaTest.cpp Examining data/libetonyek-0.1.9/src/test/IWAReaderTest.cpp Examining data/libetonyek-0.1.9/src/test/IWORKLanguageManagerTest.cpp Examining data/libetonyek-0.1.9/src/test/IWORKPropertyMapTest.cpp Examining data/libetonyek-0.1.9/src/test/TestProperties.cpp Examining data/libetonyek-0.1.9/src/test/IWORKShapeTest.cpp Examining data/libetonyek-0.1.9/src/test/IWORKChainedTokenizerTest.cpp Examining data/libetonyek-0.1.9/src/test/IWORKStyleTest.cpp Examining data/libetonyek-0.1.9/src/test/IWASnappyStreamTest.cpp Examining data/libetonyek-0.1.9/src/test/IWAFieldTest.cpp Examining data/libetonyek-0.1.9/src/test/IWORKStyleStackTest.cpp Examining data/libetonyek-0.1.9/src/test/EtonyekDocumentTest.cpp Examining data/libetonyek-0.1.9/src/fuzz/key6fuzzer.cpp Examining data/libetonyek-0.1.9/src/conv/csv/numbers2csv.cpp Examining data/libetonyek-0.1.9/src/conv/text/pages2text.cpp Examining data/libetonyek-0.1.9/src/conv/text/key2text.cpp Examining data/libetonyek-0.1.9/src/conv/text/numbers2text.cpp Examining data/libetonyek-0.1.9/src/conv/svg/key2xhtml.cpp Examining data/libetonyek-0.1.9/src/conv/raw/numbers2raw.cpp Examining data/libetonyek-0.1.9/src/conv/raw/pages2raw.cpp Examining data/libetonyek-0.1.9/src/conv/raw/key2raw.cpp Examining data/libetonyek-0.1.9/src/conv/html/pages2html.cpp FINAL RESULTS: data/libetonyek-0.1.9/src/conv/csv/numbers2csv.cpp:50:3: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(TOOL " " VERSION "\n"); data/libetonyek-0.1.9/src/conv/html/pages2html.cpp:49:3: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(TOOL " " VERSION "\n"); data/libetonyek-0.1.9/src/conv/raw/key2raw.cpp:52:3: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(TOOL " " VERSION "\n"); data/libetonyek-0.1.9/src/conv/raw/numbers2raw.cpp:52:3: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(TOOL " " VERSION "\n"); data/libetonyek-0.1.9/src/conv/raw/pages2raw.cpp:53:3: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(TOOL " " VERSION "\n"); data/libetonyek-0.1.9/src/conv/svg/key2xhtml.cpp:50:3: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(TOOL " " VERSION "\n"); data/libetonyek-0.1.9/src/conv/text/key2text.cpp:48:3: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(TOOL " " VERSION "\n"); data/libetonyek-0.1.9/src/conv/text/numbers2text.cpp:48:3: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(TOOL " " VERSION "\n"); data/libetonyek-0.1.9/src/conv/text/pages2text.cpp:49:3: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(TOOL " " VERSION "\n"); data/libetonyek-0.1.9/src/lib/IWORKTable.cpp:270:13: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. res.sprintf("%d/%d/%d %d:%d", get(dateTime).m_month, get(dateTime).m_day, get(dateTime).m_year, get(dateTime).m_hour, get(dateTime).m_minute); data/libetonyek-0.1.9/src/lib/IWORKTable.cpp:272:13: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. res.sprintf("%d/%d/%d", get(dateTime).m_month, get(dateTime).m_day, get(dateTime).m_year); data/libetonyek-0.1.9/src/lib/IWORKTable.cpp:286:11: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. res.sprintf("%d/%d/%d %d:%d", time->tm_mon + 1, time->tm_mday, time->tm_year + 1900, time->tm_hour, time->tm_min); data/libetonyek-0.1.9/src/lib/IWORKTable.cpp:288:11: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. res.sprintf("%d/%d/%d", time->tm_mon + 1, time->tm_mday, time->tm_year + 1900); data/libetonyek-0.1.9/src/lib/IWORKTable.cpp:296:9: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. res.sprintf("%d:%d:%d", seconds / 3600, (seconds % 3600) / 60, (seconds % 3600) % 60); data/libetonyek-0.1.9/src/lib/libetonyek_utils.cpp:43:8: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. std::vfprintf(stderr, format, args); data/libetonyek-0.1.9/src/lib/libetonyek_utils.cpp:260:7: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. str.sprintf("#%.2x%.2x%.2x", r, g, b); data/libetonyek-0.1.9/src/lib/libetonyek_utils.cpp:281:7: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. str.sprintf("#%.2x%.2x%.2x", red, green, blue); data/libetonyek-0.1.9/src/lib/libetonyek_utils.cpp:293:10: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. border.sprintf("%fpt", stroke.m_width); data/libetonyek-0.1.9/src/lib/PAG1Parser.cpp:639:8: [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). void open(); data/libetonyek-0.1.9/src/lib/PAG1Parser.cpp:674:5: [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). open(); data/libetonyek-0.1.9/src/lib/PAG1Parser.cpp:705:24: [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). void PageGroupElement::open() data/libetonyek-0.1.9/src/lib/PAGCollector.cpp:51: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). const OpenFunction open, const CloseFunction close) data/libetonyek-0.1.9/src/lib/PAGCollector.cpp:62: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). (document->*open)(props); data/libetonyek-0.1.9/src/lib/PAGCollector.cpp:70:47: [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). const PickFunction pick, const OpenFunction open, const CloseFunction close) data/libetonyek-0.1.9/src/lib/PAGCollector.cpp:81:53: [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). writeHeaderFooter(document, hfMap, odd, "both", open, close); data/libetonyek-0.1.9/src/lib/PAGCollector.cpp:85:52: [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). writeHeaderFooter(document, hfMap, odd, "odd", open, close); data/libetonyek-0.1.9/src/lib/PAGCollector.cpp:86: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). writeHeaderFooter(document, hfMap, even, "even", open, close); data/libetonyek-0.1.9/src/lib/PAGCollector.cpp:88: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). writeHeaderFooter(document, hfMap, first, "first", open, close); data/libetonyek-0.1.9/src/lib/contexts/IWORKLayoutElement.cpp:42:5: [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). open(); data/libetonyek-0.1.9/src/lib/contexts/IWORKLayoutElement.cpp:59:26: [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). void IWORKLayoutElement::open() data/libetonyek-0.1.9/src/lib/contexts/IWORKLayoutElement.h:29:8: [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). void open(); data/libetonyek-0.1.9/src/lib/contexts/PAG1TextStorageElement.cpp:639:5: [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). open(); data/libetonyek-0.1.9/src/lib/contexts/PAG1TextStorageElement.cpp:658:8: [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). void open(); data/libetonyek-0.1.9/src/lib/contexts/PAG1TextStorageElement.cpp:677: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). void SectionElement::open() data/libetonyek-0.1.9/src/lib/contexts/PAG1TextStorageElement.cpp:712:5: [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). open(); data/libetonyek-0.1.9/src/lib/contexts/PAG1TextStorageElement.cpp:725:7: [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). open(); data/libetonyek-0.1.9/src/lib/libetonyek_xml.cpp:38:10: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. std::memcpy(buffer, bytes, static_cast<size_t>(bytesRead)); data/libetonyek-0.1.9/src/lib/IWAField.h:173:40: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const value_type value(Reader::read(input, length)); data/libetonyek-0.1.9/src/lib/IWAReader.cpp:31:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint32_t UInt32::read(const RVNGInputStreamPtr_t &input, unsigned long) data/libetonyek-0.1.9/src/lib/IWAReader.cpp:36:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint64_t UInt64::read(const RVNGInputStreamPtr_t &input, unsigned long) data/libetonyek-0.1.9/src/lib/IWAReader.cpp:41:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int64_t SInt64::read(const RVNGInputStreamPtr_t &input, unsigned long) data/libetonyek-0.1.9/src/lib/IWAReader.cpp:46:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int32_t SInt32::read(const RVNGInputStreamPtr_t &input, unsigned long) data/libetonyek-0.1.9/src/lib/IWAReader.cpp:51:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool Bool::read(const RVNGInputStreamPtr_t &input, unsigned long) data/libetonyek-0.1.9/src/lib/IWAReader.cpp:56:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint64_t Fixed64::read(const RVNGInputStreamPtr_t &input, unsigned long) data/libetonyek-0.1.9/src/lib/IWAReader.cpp:61:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). double Double::read(const RVNGInputStreamPtr_t &input, unsigned long) data/libetonyek-0.1.9/src/lib/IWAReader.cpp:66:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). std::string String::read(const RVNGInputStreamPtr_t &input, const unsigned long length) data/libetonyek-0.1.9/src/lib/IWAReader.cpp:71:45: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *const bytes = input->read(length, readBytes); data/libetonyek-0.1.9/src/lib/IWAReader.cpp:77:35: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const RVNGInputStreamPtr_t Bytes::read(const RVNGInputStreamPtr_t &input, const unsigned long length) data/libetonyek-0.1.9/src/lib/IWAReader.cpp:82:45: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *const bytes = input->read(length, readBytes); data/libetonyek-0.1.9/src/lib/IWAReader.cpp:88:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). IWAMessage Message::read(const RVNGInputStreamPtr_t &input, const unsigned long length) data/libetonyek-0.1.9/src/lib/IWAReader.cpp:95:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint32_t Fixed32::read(const RVNGInputStreamPtr_t &input, unsigned long) data/libetonyek-0.1.9/src/lib/IWAReader.cpp:100:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). float Float::read(const RVNGInputStreamPtr_t &input, unsigned long) data/libetonyek-0.1.9/src/lib/IWAReader.h:27:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static uint32_t read(const RVNGInputStreamPtr_t &input, unsigned long length); data/libetonyek-0.1.9/src/lib/IWAReader.h:32:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static uint64_t read(const RVNGInputStreamPtr_t &input, unsigned long length); data/libetonyek-0.1.9/src/lib/IWAReader.h:37:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static int32_t read(const RVNGInputStreamPtr_t &input, unsigned long length); data/libetonyek-0.1.9/src/lib/IWAReader.h:42:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static int64_t read(const RVNGInputStreamPtr_t &input, unsigned long length); data/libetonyek-0.1.9/src/lib/IWAReader.h:47:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static bool read(const RVNGInputStreamPtr_t &input, unsigned long length); data/libetonyek-0.1.9/src/lib/IWAReader.h:52:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static uint64_t read(const RVNGInputStreamPtr_t &input, unsigned long length); data/libetonyek-0.1.9/src/lib/IWAReader.h:57:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static double read(const RVNGInputStreamPtr_t &input, unsigned long length); data/libetonyek-0.1.9/src/lib/IWAReader.h:62:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static std::string read(const RVNGInputStreamPtr_t &input, unsigned long length); data/libetonyek-0.1.9/src/lib/IWAReader.h:67:37: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static const RVNGInputStreamPtr_t read(const RVNGInputStreamPtr_t &input, unsigned long length); data/libetonyek-0.1.9/src/lib/IWAReader.h:72:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static IWAMessage read(const RVNGInputStreamPtr_t &input, unsigned long length); data/libetonyek-0.1.9/src/lib/IWAReader.h:77:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static uint32_t read(const RVNGInputStreamPtr_t &input, unsigned long length); data/libetonyek-0.1.9/src/lib/IWAReader.h:82:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). static float read(const RVNGInputStreamPtr_t &input, unsigned long length); data/libetonyek-0.1.9/src/lib/IWASnappyStream.cpp:111:49: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *const bytes = input->read(runLength, bytesRead); data/libetonyek-0.1.9/src/lib/IWASnappyStream.cpp:214:39: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *IWASnappyStream::read(const unsigned long numBytes, unsigned long &numBytesRead) data/libetonyek-0.1.9/src/lib/IWASnappyStream.cpp:216:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return m_stream->read(numBytes, numBytesRead); data/libetonyek-0.1.9/src/lib/IWASnappyStream.h:37:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead) override; data/libetonyek-0.1.9/src/lib/IWORKCollector.cpp:59:44: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *const sig = stream->read(8, numBytesRead); data/libetonyek-0.1.9/src/lib/IWORKCollector.cpp:176:67: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *const bytes = bitmap.m_data->m_stream->read(length, readBytes); data/libetonyek-0.1.9/src/lib/IWORKCollector.cpp:1138:49: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *const bytes = input->read(size, readBytes); data/libetonyek-0.1.9/src/lib/IWORKMemoryStream.cpp:34:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(input, static_cast<unsigned>(end - begin)); data/libetonyek-0.1.9/src/lib/IWORKMemoryStream.cpp:42:3: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(input, length); data/libetonyek-0.1.9/src/lib/IWORKMemoryStream.cpp:96:41: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *IWORKMemoryStream::read(unsigned long numBytes, unsigned long &numBytesRead) try data/libetonyek-0.1.9/src/lib/IWORKMemoryStream.cpp:164:25: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void IWORKMemoryStream::read(const RVNGInputStreamPtr_t &input, const unsigned length) data/libetonyek-0.1.9/src/lib/IWORKMemoryStream.cpp:172:44: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *const data = input->read(length, readBytes); data/libetonyek-0.1.9/src/lib/IWORKMemoryStream.h:44:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead) override; data/libetonyek-0.1.9/src/lib/IWORKMemoryStream.h:51:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const RVNGInputStreamPtr_t &input, unsigned length); data/libetonyek-0.1.9/src/lib/IWORKSubDirStream.cpp:79:41: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *IWORKSubDirStream::read(const unsigned long, unsigned long &) data/libetonyek-0.1.9/src/lib/IWORKSubDirStream.h:34:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead) override; data/libetonyek-0.1.9/src/lib/IWORKToken.cpp:18:12: [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). using std::strlen; data/libetonyek-0.1.9/src/lib/IWORKToken.cpp:45:25: [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). const size_t length = strlen(name); data/libetonyek-0.1.9/src/lib/IWORKZlibStream.cpp:55:61: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). auto *compressedData = const_cast<unsigned char *>(input->read(compressedSize, numBytesRead)); data/libetonyek-0.1.9/src/lib/IWORKZlibStream.cpp:147:39: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *IWORKZlibStream::read(const unsigned long numBytes, unsigned long &numBytesRead) data/libetonyek-0.1.9/src/lib/IWORKZlibStream.cpp:149:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return m_stream->read(numBytes, numBytesRead); data/libetonyek-0.1.9/src/lib/IWORKZlibStream.h:34:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead) override; data/libetonyek-0.1.9/src/lib/KEY1Token.cpp:18:12: [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). using std::strlen; data/libetonyek-0.1.9/src/lib/KEY1Token.cpp:45:25: [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). const size_t length = strlen(name); data/libetonyek-0.1.9/src/lib/KEY2Token.cpp:18:12: [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). using std::strlen; data/libetonyek-0.1.9/src/lib/KEY2Token.cpp:45:25: [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). const size_t length = strlen(name); data/libetonyek-0.1.9/src/lib/NUM1Token.cpp:18:12: [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). using std::strlen; data/libetonyek-0.1.9/src/lib/NUM1Token.cpp:45:25: [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). const size_t length = strlen(name); data/libetonyek-0.1.9/src/lib/PAG1Token.cpp:18:12: [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). using std::strlen; data/libetonyek-0.1.9/src/lib/PAG1Token.cpp:45:25: [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). const size_t length = strlen(name); data/libetonyek-0.1.9/src/lib/libetonyek_utils.cpp:53:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint8_t const *p = input->read(sizeof(uint8_t), numBytesRead); data/libetonyek-0.1.9/src/lib/libetonyek_utils.cpp:65:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint8_t const *p = input->read(sizeof(uint16_t), numBytesRead); data/libetonyek-0.1.9/src/lib/libetonyek_utils.cpp:81:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint8_t const *p = input->read(sizeof(uint32_t), numBytesRead); data/libetonyek-0.1.9/src/lib/libetonyek_utils.cpp:97:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint8_t const *p = input->read(sizeof(uint64_t), numBytesRead); data/libetonyek-0.1.9/src/lib/libetonyek_xml.cpp:36:47: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *const bytes = input->read((unsigned long)len, bytesRead); data/libetonyek-0.1.9/src/test/IWAFieldTest.cpp:159:23: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. CPPUNIT_ASSERT(std::equal(values.begin(), values.end(), expected)); data/libetonyek-0.1.9/src/test/IWAFieldTest.cpp:161:23: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. CPPUNIT_ASSERT(std::equal(field.begin(), field.end(), expected)); data/libetonyek-0.1.9/src/test/IWAReaderTest.cpp:67:49: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). CPPUNIT_ASSERT_EQUAL(string("hello"), String::read(makeStream(BYTES("hello")), 5)); data/libetonyek-0.1.9/src/test/IWAReaderTest.cpp:68:49: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). CPPUNIT_ASSERT_EQUAL(string("hello"), String::read(makeStream(BYTES("hello world")), 5)); data/libetonyek-0.1.9/src/test/IWAReaderTest.cpp:73:54: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const RVNGInputStreamPtr_t input(IWAReader::Bytes::read(makeStream(BYTES("\x78\x56\x34\x12")), 4)); data/libetonyek-0.1.9/src/test/IWASnappyStreamTest.cpp:37:65: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *const uncompressed = uncompressedStream->read(expectedSize, uncompressedSize); data/libetonyek-0.1.9/src/test/IWASnappyStreamTest.cpp:41:54: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. CPPUNIT_ASSERT_MESSAGE(message + ": content", std::equal(expected, expected + expectedSize, uncompressed)); data/libetonyek-0.1.9/src/test/IWASnappyStreamTest.cpp:49:64: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *const uncompressed = uncompressedStream.read(expectedSize, uncompressedSize); data/libetonyek-0.1.9/src/test/IWASnappyStreamTest.cpp:53:54: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. CPPUNIT_ASSERT_MESSAGE(message + ": content", std::equal(expected, expected + expectedSize, uncompressed)); data/libetonyek-0.1.9/src/test/IWORKTransformationTest.cpp:39:15: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. static bool equal(const glm::dvec3 &x, const glm::dvec3 &y) data/libetonyek-0.1.9/src/test/IWORKTransformationTest.cpp:56:15: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. static bool equal(const glm::dmat3 &x, const glm::dmat3 &y) ANALYSIS SUMMARY: Hits = 110 Lines analyzed = 53841 in approximately 1.09 seconds (49566 lines/second) Physical Source Lines of Code (SLOC) = 41226 Hits@level = [0] 112 [1] 73 [2] 19 [3] 0 [4] 18 [5] 0 Hits@level+ = [0+] 222 [1+] 110 [2+] 37 [3+] 18 [4+] 18 [5+] 0 Hits/KSLOC@level+ = [0+] 5.38495 [1+] 2.66822 [2+] 0.897492 [3+] 0.436618 [4+] 0.436618 [5+] 0 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.