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/poppler-20.09.0/cmake/modules/CheckFileOffsetBits.c Examining data/poppler-20.09.0/cpp/poppler-destination-private.h Examining data/poppler-20.09.0/cpp/poppler-destination.cpp Examining data/poppler-20.09.0/cpp/poppler-destination.h Examining data/poppler-20.09.0/cpp/poppler-document-private.h Examining data/poppler-20.09.0/cpp/poppler-document.cpp Examining data/poppler-20.09.0/cpp/poppler-document.h Examining data/poppler-20.09.0/cpp/poppler-embedded-file-private.h Examining data/poppler-20.09.0/cpp/poppler-embedded-file.cpp Examining data/poppler-20.09.0/cpp/poppler-embedded-file.h Examining data/poppler-20.09.0/cpp/poppler-font-private.h Examining data/poppler-20.09.0/cpp/poppler-font.cpp Examining data/poppler-20.09.0/cpp/poppler-font.h Examining data/poppler-20.09.0/cpp/poppler-global.cpp Examining data/poppler-20.09.0/cpp/poppler-global.h Examining data/poppler-20.09.0/cpp/poppler-image-private.h Examining data/poppler-20.09.0/cpp/poppler-image.cpp Examining data/poppler-20.09.0/cpp/poppler-image.h Examining data/poppler-20.09.0/cpp/poppler-page-private.h Examining data/poppler-20.09.0/cpp/poppler-page-renderer.cpp Examining data/poppler-20.09.0/cpp/poppler-page-renderer.h Examining data/poppler-20.09.0/cpp/poppler-page-transition.cpp Examining data/poppler-20.09.0/cpp/poppler-page-transition.h Examining data/poppler-20.09.0/cpp/poppler-page.cpp Examining data/poppler-20.09.0/cpp/poppler-page.h Examining data/poppler-20.09.0/cpp/poppler-private.cpp Examining data/poppler-20.09.0/cpp/poppler-private.h Examining data/poppler-20.09.0/cpp/poppler-rectangle.cpp Examining data/poppler-20.09.0/cpp/poppler-rectangle.h Examining data/poppler-20.09.0/cpp/poppler-toc-private.h Examining data/poppler-20.09.0/cpp/poppler-toc.cpp Examining data/poppler-20.09.0/cpp/poppler-toc.h Examining data/poppler-20.09.0/cpp/poppler-version.cpp Examining data/poppler-20.09.0/cpp/tests/pdf_fuzzer.cc Examining data/poppler-20.09.0/cpp/tests/poppler-dump.cpp Examining data/poppler-20.09.0/cpp/tests/poppler-render.cpp Examining data/poppler-20.09.0/fofi/FoFiBase.cc Examining data/poppler-20.09.0/fofi/FoFiBase.h Examining data/poppler-20.09.0/fofi/FoFiEncodings.cc Examining data/poppler-20.09.0/fofi/FoFiEncodings.h Examining data/poppler-20.09.0/fofi/FoFiIdentifier.cc Examining data/poppler-20.09.0/fofi/FoFiIdentifier.h Examining data/poppler-20.09.0/fofi/FoFiTrueType.cc Examining data/poppler-20.09.0/fofi/FoFiTrueType.h Examining data/poppler-20.09.0/fofi/FoFiType1.cc Examining data/poppler-20.09.0/fofi/FoFiType1.h Examining data/poppler-20.09.0/fofi/FoFiType1C.cc Examining data/poppler-20.09.0/fofi/FoFiType1C.h Examining data/poppler-20.09.0/glib/demo/annots.c Examining data/poppler-20.09.0/glib/demo/annots.h Examining data/poppler-20.09.0/glib/demo/attachments.c Examining data/poppler-20.09.0/glib/demo/attachments.h Examining data/poppler-20.09.0/glib/demo/find.c Examining data/poppler-20.09.0/glib/demo/find.h Examining data/poppler-20.09.0/glib/demo/fonts.c Examining data/poppler-20.09.0/glib/demo/fonts.h Examining data/poppler-20.09.0/glib/demo/forms.c Examining data/poppler-20.09.0/glib/demo/forms.h Examining data/poppler-20.09.0/glib/demo/images.c Examining data/poppler-20.09.0/glib/demo/images.h Examining data/poppler-20.09.0/glib/demo/info.cc Examining data/poppler-20.09.0/glib/demo/info.h Examining data/poppler-20.09.0/glib/demo/layers.c Examining data/poppler-20.09.0/glib/demo/layers.h Examining data/poppler-20.09.0/glib/demo/links.c Examining data/poppler-20.09.0/glib/demo/links.h Examining data/poppler-20.09.0/glib/demo/main.c Examining data/poppler-20.09.0/glib/demo/outline.c Examining data/poppler-20.09.0/glib/demo/outline.h Examining data/poppler-20.09.0/glib/demo/page.c Examining data/poppler-20.09.0/glib/demo/page.h Examining data/poppler-20.09.0/glib/demo/print.c Examining data/poppler-20.09.0/glib/demo/print.h Examining data/poppler-20.09.0/glib/demo/render.c Examining data/poppler-20.09.0/glib/demo/render.h Examining data/poppler-20.09.0/glib/demo/selections.c Examining data/poppler-20.09.0/glib/demo/selections.h Examining data/poppler-20.09.0/glib/demo/taggedstruct.c Examining data/poppler-20.09.0/glib/demo/taggedstruct.h Examining data/poppler-20.09.0/glib/demo/text.c Examining data/poppler-20.09.0/glib/demo/text.h Examining data/poppler-20.09.0/glib/demo/transitions.c Examining data/poppler-20.09.0/glib/demo/transitions.h Examining data/poppler-20.09.0/glib/demo/utils.c Examining data/poppler-20.09.0/glib/demo/utils.h Examining data/poppler-20.09.0/glib/poppler-action.cc Examining data/poppler-20.09.0/glib/poppler-action.h Examining data/poppler-20.09.0/glib/poppler-annot.cc Examining data/poppler-20.09.0/glib/poppler-annot.h Examining data/poppler-20.09.0/glib/poppler-attachment.cc Examining data/poppler-20.09.0/glib/poppler-attachment.h Examining data/poppler-20.09.0/glib/poppler-cached-file-loader.cc Examining data/poppler-20.09.0/glib/poppler-cached-file-loader.h Examining data/poppler-20.09.0/glib/poppler-date.cc Examining data/poppler-20.09.0/glib/poppler-date.h Examining data/poppler-20.09.0/glib/poppler-document.cc Examining data/poppler-20.09.0/glib/poppler-document.h Examining data/poppler-20.09.0/glib/poppler-form-field.cc Examining data/poppler-20.09.0/glib/poppler-form-field.h Examining data/poppler-20.09.0/glib/poppler-input-stream.cc Examining data/poppler-20.09.0/glib/poppler-input-stream.h Examining data/poppler-20.09.0/glib/poppler-layer.cc Examining data/poppler-20.09.0/glib/poppler-layer.h Examining data/poppler-20.09.0/glib/poppler-macros.h Examining data/poppler-20.09.0/glib/poppler-media.cc Examining data/poppler-20.09.0/glib/poppler-media.h Examining data/poppler-20.09.0/glib/poppler-movie.cc Examining data/poppler-20.09.0/glib/poppler-movie.h Examining data/poppler-20.09.0/glib/poppler-page.cc Examining data/poppler-20.09.0/glib/poppler-page.h Examining data/poppler-20.09.0/glib/poppler-private.h Examining data/poppler-20.09.0/glib/poppler-structure-element.cc Examining data/poppler-20.09.0/glib/poppler-structure-element.h Examining data/poppler-20.09.0/glib/poppler.cc Examining data/poppler-20.09.0/glib/poppler.h Examining data/poppler-20.09.0/glib/tests/check_bb.c Examining data/poppler-20.09.0/glib/tests/check_text.c Examining data/poppler-20.09.0/glib/tests/pdfdrawbb.c Examining data/poppler-20.09.0/goo/GooCheckedOps.h Examining data/poppler-20.09.0/goo/GooLikely.h Examining data/poppler-20.09.0/goo/GooString.cc Examining data/poppler-20.09.0/goo/GooString.h Examining data/poppler-20.09.0/goo/GooTimer.cc Examining data/poppler-20.09.0/goo/GooTimer.h Examining data/poppler-20.09.0/goo/ImgWriter.cc Examining data/poppler-20.09.0/goo/ImgWriter.h Examining data/poppler-20.09.0/goo/JpegWriter.cc Examining data/poppler-20.09.0/goo/JpegWriter.h Examining data/poppler-20.09.0/goo/NetPBMWriter.cc Examining data/poppler-20.09.0/goo/NetPBMWriter.h Examining data/poppler-20.09.0/goo/PNGWriter.cc Examining data/poppler-20.09.0/goo/PNGWriter.h Examining data/poppler-20.09.0/goo/TiffWriter.cc Examining data/poppler-20.09.0/goo/TiffWriter.h Examining data/poppler-20.09.0/goo/gbase64.cc Examining data/poppler-20.09.0/goo/gbase64.h Examining data/poppler-20.09.0/goo/gbasename.cc Examining data/poppler-20.09.0/goo/gbasename.h Examining data/poppler-20.09.0/goo/gdir.h Examining data/poppler-20.09.0/goo/gfile.cc Examining data/poppler-20.09.0/goo/gfile.h Examining data/poppler-20.09.0/goo/glibc.cc Examining data/poppler-20.09.0/goo/glibc.h Examining data/poppler-20.09.0/goo/glibc_strtok_r.cc Examining data/poppler-20.09.0/goo/gmem.h Examining data/poppler-20.09.0/goo/grandom.cc Examining data/poppler-20.09.0/goo/grandom.h Examining data/poppler-20.09.0/goo/gstrtod.cc Examining data/poppler-20.09.0/goo/gstrtod.h Examining data/poppler-20.09.0/poppler/Annot.cc Examining data/poppler-20.09.0/poppler/Annot.h Examining data/poppler-20.09.0/poppler/Array.cc Examining data/poppler-20.09.0/poppler/Array.h Examining data/poppler-20.09.0/poppler/BBoxOutputDev.cc Examining data/poppler-20.09.0/poppler/BBoxOutputDev.h Examining data/poppler-20.09.0/poppler/BuiltinFont.h Examining data/poppler-20.09.0/poppler/BuiltinFontWidth.h Examining data/poppler-20.09.0/poppler/CMap.cc Examining data/poppler-20.09.0/poppler/CMap.h Examining data/poppler-20.09.0/poppler/CachedFile.cc Examining data/poppler-20.09.0/poppler/CachedFile.h Examining data/poppler-20.09.0/poppler/CairoFontEngine.cc Examining data/poppler-20.09.0/poppler/CairoFontEngine.h Examining data/poppler-20.09.0/poppler/CairoOutputDev.cc Examining data/poppler-20.09.0/poppler/CairoOutputDev.h Examining data/poppler-20.09.0/poppler/CairoRescaleBox.cc Examining data/poppler-20.09.0/poppler/CairoRescaleBox.h Examining data/poppler-20.09.0/poppler/Catalog.cc Examining data/poppler-20.09.0/poppler/Catalog.h Examining data/poppler-20.09.0/poppler/CertificateInfo.cc Examining data/poppler-20.09.0/poppler/CertificateInfo.h Examining data/poppler-20.09.0/poppler/CharCodeToUnicode.cc Examining data/poppler-20.09.0/poppler/CharCodeToUnicode.h Examining data/poppler-20.09.0/poppler/CharTypes.h Examining data/poppler-20.09.0/poppler/CourierBoldObliqueWidths.pregenerated.c Examining data/poppler-20.09.0/poppler/CourierBoldWidths.pregenerated.c Examining data/poppler-20.09.0/poppler/CourierObliqueWidths.pregenerated.c Examining data/poppler-20.09.0/poppler/CourierWidths.pregenerated.c Examining data/poppler-20.09.0/poppler/CurlCachedFile.cc Examining data/poppler-20.09.0/poppler/CurlCachedFile.h Examining data/poppler-20.09.0/poppler/CurlPDFDocBuilder.cc Examining data/poppler-20.09.0/poppler/CurlPDFDocBuilder.h Examining data/poppler-20.09.0/poppler/DCTStream.cc Examining data/poppler-20.09.0/poppler/DCTStream.h Examining data/poppler-20.09.0/poppler/DateInfo.cc Examining data/poppler-20.09.0/poppler/DateInfo.h Examining data/poppler-20.09.0/poppler/Decrypt.cc Examining data/poppler-20.09.0/poppler/Decrypt.h Examining data/poppler-20.09.0/poppler/Dict.cc Examining data/poppler-20.09.0/poppler/Dict.h Examining data/poppler-20.09.0/poppler/Error.cc Examining data/poppler-20.09.0/poppler/Error.h Examining data/poppler-20.09.0/poppler/ErrorCodes.h Examining data/poppler-20.09.0/poppler/FileSpec.cc Examining data/poppler-20.09.0/poppler/FileSpec.h Examining data/poppler-20.09.0/poppler/FlateEncoder.cc Examining data/poppler-20.09.0/poppler/FlateEncoder.h Examining data/poppler-20.09.0/poppler/FlateStream.cc Examining data/poppler-20.09.0/poppler/FlateStream.h Examining data/poppler-20.09.0/poppler/FontEncodingTables.cc Examining data/poppler-20.09.0/poppler/FontEncodingTables.h Examining data/poppler-20.09.0/poppler/FontInfo.cc Examining data/poppler-20.09.0/poppler/FontInfo.h Examining data/poppler-20.09.0/poppler/Form.cc Examining data/poppler-20.09.0/poppler/Form.h Examining data/poppler-20.09.0/poppler/Function.cc Examining data/poppler-20.09.0/poppler/Function.h Examining data/poppler-20.09.0/poppler/Gfx.cc Examining data/poppler-20.09.0/poppler/Gfx.h Examining data/poppler-20.09.0/poppler/GfxFont.cc Examining data/poppler-20.09.0/poppler/GfxFont.h Examining data/poppler-20.09.0/poppler/GfxState.cc Examining data/poppler-20.09.0/poppler/GfxState.h Examining data/poppler-20.09.0/poppler/GfxState_helpers.h Examining data/poppler-20.09.0/poppler/GlobalParams.cc Examining data/poppler-20.09.0/poppler/GlobalParams.h Examining data/poppler-20.09.0/poppler/GlobalParamsWin.cc Examining data/poppler-20.09.0/poppler/HelveticaBoldObliqueWidths.pregenerated.c Examining data/poppler-20.09.0/poppler/HelveticaBoldWidths.pregenerated.c Examining data/poppler-20.09.0/poppler/HelveticaObliqueWidths.pregenerated.c Examining data/poppler-20.09.0/poppler/HelveticaWidths.pregenerated.c Examining data/poppler-20.09.0/poppler/Hints.cc Examining data/poppler-20.09.0/poppler/Hints.h Examining data/poppler-20.09.0/poppler/JArithmeticDecoder.cc Examining data/poppler-20.09.0/poppler/JArithmeticDecoder.h Examining data/poppler-20.09.0/poppler/JBIG2Stream.cc Examining data/poppler-20.09.0/poppler/JBIG2Stream.h Examining data/poppler-20.09.0/poppler/JPEG2000Stream.cc Examining data/poppler-20.09.0/poppler/JPEG2000Stream.h Examining data/poppler-20.09.0/poppler/JPXStream.cc Examining data/poppler-20.09.0/poppler/JPXStream.h Examining data/poppler-20.09.0/poppler/JSInfo.cc Examining data/poppler-20.09.0/poppler/JSInfo.h Examining data/poppler-20.09.0/poppler/Lexer.cc Examining data/poppler-20.09.0/poppler/Lexer.h Examining data/poppler-20.09.0/poppler/Linearization.cc Examining data/poppler-20.09.0/poppler/Linearization.h Examining data/poppler-20.09.0/poppler/Link.cc Examining data/poppler-20.09.0/poppler/Link.h Examining data/poppler-20.09.0/poppler/LocalPDFDocBuilder.cc Examining data/poppler-20.09.0/poppler/LocalPDFDocBuilder.h Examining data/poppler-20.09.0/poppler/MarkedContentOutputDev.cc Examining data/poppler-20.09.0/poppler/MarkedContentOutputDev.h Examining data/poppler-20.09.0/poppler/Movie.cc Examining data/poppler-20.09.0/poppler/Movie.h Examining data/poppler-20.09.0/poppler/NameToCharCode.cc Examining data/poppler-20.09.0/poppler/NameToCharCode.h Examining data/poppler-20.09.0/poppler/NameToUnicodeTable.h Examining data/poppler-20.09.0/poppler/Object.cc Examining data/poppler-20.09.0/poppler/Object.h Examining data/poppler-20.09.0/poppler/OptionalContent.cc Examining data/poppler-20.09.0/poppler/OptionalContent.h Examining data/poppler-20.09.0/poppler/Outline.cc Examining data/poppler-20.09.0/poppler/Outline.h Examining data/poppler-20.09.0/poppler/OutputDev.cc Examining data/poppler-20.09.0/poppler/OutputDev.h Examining data/poppler-20.09.0/poppler/PDFDoc.cc Examining data/poppler-20.09.0/poppler/PDFDoc.h Examining data/poppler-20.09.0/poppler/PDFDocBuilder.h Examining data/poppler-20.09.0/poppler/PDFDocEncoding.cc Examining data/poppler-20.09.0/poppler/PDFDocEncoding.h Examining data/poppler-20.09.0/poppler/PDFDocFactory.cc Examining data/poppler-20.09.0/poppler/PDFDocFactory.h Examining data/poppler-20.09.0/poppler/PSOutputDev.cc Examining data/poppler-20.09.0/poppler/PSOutputDev.h Examining data/poppler-20.09.0/poppler/PSTokenizer.cc Examining data/poppler-20.09.0/poppler/PSTokenizer.h Examining data/poppler-20.09.0/poppler/Page.cc Examining data/poppler-20.09.0/poppler/Page.h Examining data/poppler-20.09.0/poppler/PageLabelInfo.cc Examining data/poppler-20.09.0/poppler/PageLabelInfo.h Examining data/poppler-20.09.0/poppler/PageLabelInfo_p.h Examining data/poppler-20.09.0/poppler/PageTransition.cc Examining data/poppler-20.09.0/poppler/PageTransition.h Examining data/poppler-20.09.0/poppler/Parser.cc Examining data/poppler-20.09.0/poppler/Parser.h Examining data/poppler-20.09.0/poppler/PopplerCache.h Examining data/poppler-20.09.0/poppler/PreScanOutputDev.cc Examining data/poppler-20.09.0/poppler/PreScanOutputDev.h Examining data/poppler-20.09.0/poppler/ProfileData.cc Examining data/poppler-20.09.0/poppler/ProfileData.h Examining data/poppler-20.09.0/poppler/Rendition.cc Examining data/poppler-20.09.0/poppler/Rendition.h Examining data/poppler-20.09.0/poppler/SecurityHandler.cc Examining data/poppler-20.09.0/poppler/SecurityHandler.h Examining data/poppler-20.09.0/poppler/SignatureHandler.cc Examining data/poppler-20.09.0/poppler/SignatureHandler.h Examining data/poppler-20.09.0/poppler/SignatureInfo.cc Examining data/poppler-20.09.0/poppler/SignatureInfo.h Examining data/poppler-20.09.0/poppler/Sound.cc Examining data/poppler-20.09.0/poppler/Sound.h Examining data/poppler-20.09.0/poppler/SplashOutputDev.cc Examining data/poppler-20.09.0/poppler/SplashOutputDev.h Examining data/poppler-20.09.0/poppler/StdinCachedFile.cc Examining data/poppler-20.09.0/poppler/StdinCachedFile.h Examining data/poppler-20.09.0/poppler/StdinPDFDocBuilder.cc Examining data/poppler-20.09.0/poppler/StdinPDFDocBuilder.h Examining data/poppler-20.09.0/poppler/Stream-CCITT.h Examining data/poppler-20.09.0/poppler/Stream.cc Examining data/poppler-20.09.0/poppler/Stream.h Examining data/poppler-20.09.0/poppler/StructElement.cc Examining data/poppler-20.09.0/poppler/StructElement.h Examining data/poppler-20.09.0/poppler/StructTreeRoot.cc Examining data/poppler-20.09.0/poppler/StructTreeRoot.h Examining data/poppler-20.09.0/poppler/SymbolWidths.pregenerated.c Examining data/poppler-20.09.0/poppler/TextOutputDev.cc Examining data/poppler-20.09.0/poppler/TextOutputDev.h Examining data/poppler-20.09.0/poppler/TimesBoldItalicWidths.pregenerated.c Examining data/poppler-20.09.0/poppler/TimesBoldWidths.pregenerated.c Examining data/poppler-20.09.0/poppler/TimesItalicWidths.pregenerated.c Examining data/poppler-20.09.0/poppler/TimesRomanWidths.pregenerated.c Examining data/poppler-20.09.0/poppler/UTF.cc Examining data/poppler-20.09.0/poppler/UTF.h Examining data/poppler-20.09.0/poppler/UnicodeCClassTables.h Examining data/poppler-20.09.0/poppler/UnicodeCompTables.h Examining data/poppler-20.09.0/poppler/UnicodeDecompTables.h Examining data/poppler-20.09.0/poppler/UnicodeMap.cc Examining data/poppler-20.09.0/poppler/UnicodeMap.h Examining data/poppler-20.09.0/poppler/UnicodeMapFuncs.cc Examining data/poppler-20.09.0/poppler/UnicodeMapFuncs.h Examining data/poppler-20.09.0/poppler/UnicodeMapTables.h Examining data/poppler-20.09.0/poppler/UnicodeTypeTable.cc Examining data/poppler-20.09.0/poppler/UnicodeTypeTable.h Examining data/poppler-20.09.0/poppler/ViewerPreferences.cc Examining data/poppler-20.09.0/poppler/ViewerPreferences.h Examining data/poppler-20.09.0/poppler/XRef.cc Examining data/poppler-20.09.0/poppler/XRef.h Examining data/poppler-20.09.0/poppler/ZapfDingbatsWidths.pregenerated.c Examining data/poppler-20.09.0/qt5/demos/abstractinfodock.cpp Examining data/poppler-20.09.0/qt5/demos/abstractinfodock.h Examining data/poppler-20.09.0/qt5/demos/documentobserver.cpp Examining data/poppler-20.09.0/qt5/demos/documentobserver.h Examining data/poppler-20.09.0/qt5/demos/embeddedfiles.cpp Examining data/poppler-20.09.0/qt5/demos/embeddedfiles.h Examining data/poppler-20.09.0/qt5/demos/fonts.cpp Examining data/poppler-20.09.0/qt5/demos/fonts.h Examining data/poppler-20.09.0/qt5/demos/info.cpp Examining data/poppler-20.09.0/qt5/demos/info.h Examining data/poppler-20.09.0/qt5/demos/main_viewer.cpp Examining data/poppler-20.09.0/qt5/demos/metadata.cpp Examining data/poppler-20.09.0/qt5/demos/metadata.h Examining data/poppler-20.09.0/qt5/demos/navigationtoolbar.cpp Examining data/poppler-20.09.0/qt5/demos/navigationtoolbar.h Examining data/poppler-20.09.0/qt5/demos/optcontent.cpp Examining data/poppler-20.09.0/qt5/demos/optcontent.h Examining data/poppler-20.09.0/qt5/demos/pageview.cpp Examining data/poppler-20.09.0/qt5/demos/pageview.h Examining data/poppler-20.09.0/qt5/demos/permissions.cpp Examining data/poppler-20.09.0/qt5/demos/permissions.h Examining data/poppler-20.09.0/qt5/demos/thumbnails.cpp Examining data/poppler-20.09.0/qt5/demos/thumbnails.h Examining data/poppler-20.09.0/qt5/demos/toc.cpp Examining data/poppler-20.09.0/qt5/demos/toc.h Examining data/poppler-20.09.0/qt5/demos/viewer.cpp Examining data/poppler-20.09.0/qt5/demos/viewer.h Examining data/poppler-20.09.0/qt5/src/ArthurOutputDev.cc Examining data/poppler-20.09.0/qt5/src/ArthurOutputDev.h Examining data/poppler-20.09.0/qt5/src/poppler-annotation-helper.h Examining data/poppler-20.09.0/qt5/src/poppler-annotation-private.h Examining data/poppler-20.09.0/qt5/src/poppler-annotation.cc Examining data/poppler-20.09.0/qt5/src/poppler-annotation.h Examining data/poppler-20.09.0/qt5/src/poppler-base-converter.cc Examining data/poppler-20.09.0/qt5/src/poppler-converter-private.h Examining data/poppler-20.09.0/qt5/src/poppler-document.cc Examining data/poppler-20.09.0/qt5/src/poppler-embeddedfile-private.h Examining data/poppler-20.09.0/qt5/src/poppler-embeddedfile.cc Examining data/poppler-20.09.0/qt5/src/poppler-export.h Examining data/poppler-20.09.0/qt5/src/poppler-fontinfo.cc Examining data/poppler-20.09.0/qt5/src/poppler-form.cc Examining data/poppler-20.09.0/qt5/src/poppler-form.h Examining data/poppler-20.09.0/qt5/src/poppler-link-extractor-private.h Examining data/poppler-20.09.0/qt5/src/poppler-link-extractor.cc Examining data/poppler-20.09.0/qt5/src/poppler-link-private.h Examining data/poppler-20.09.0/qt5/src/poppler-link.cc Examining data/poppler-20.09.0/qt5/src/poppler-link.h Examining data/poppler-20.09.0/qt5/src/poppler-media.cc Examining data/poppler-20.09.0/qt5/src/poppler-media.h Examining data/poppler-20.09.0/qt5/src/poppler-movie.cc Examining data/poppler-20.09.0/qt5/src/poppler-optcontent-private.h Examining data/poppler-20.09.0/qt5/src/poppler-optcontent.cc Examining data/poppler-20.09.0/qt5/src/poppler-optcontent.h Examining data/poppler-20.09.0/qt5/src/poppler-outline-private.h Examining data/poppler-20.09.0/qt5/src/poppler-outline.cc Examining data/poppler-20.09.0/qt5/src/poppler-page-private.h Examining data/poppler-20.09.0/qt5/src/poppler-page-transition-private.h Examining data/poppler-20.09.0/qt5/src/poppler-page-transition.cc Examining data/poppler-20.09.0/qt5/src/poppler-page-transition.h Examining data/poppler-20.09.0/qt5/src/poppler-page.cc Examining data/poppler-20.09.0/qt5/src/poppler-pdf-converter.cc Examining data/poppler-20.09.0/qt5/src/poppler-private.cc Examining data/poppler-20.09.0/qt5/src/poppler-private.h Examining data/poppler-20.09.0/qt5/src/poppler-ps-converter.cc Examining data/poppler-20.09.0/qt5/src/poppler-qiodeviceinstream-private.h Examining data/poppler-20.09.0/qt5/src/poppler-qiodeviceinstream.cc Examining data/poppler-20.09.0/qt5/src/poppler-qiodeviceoutstream-private.h Examining data/poppler-20.09.0/qt5/src/poppler-qiodeviceoutstream.cc Examining data/poppler-20.09.0/qt5/src/poppler-qt5.h Examining data/poppler-20.09.0/qt5/src/poppler-sound.cc Examining data/poppler-20.09.0/qt5/src/poppler-textbox.cc Examining data/poppler-20.09.0/qt5/src/poppler-version.cpp Examining data/poppler-20.09.0/qt5/tests/check_actualtext.cpp Examining data/poppler-20.09.0/qt5/tests/check_annotations.cpp Examining data/poppler-20.09.0/qt5/tests/check_attachments.cpp Examining data/poppler-20.09.0/qt5/tests/check_dateConversion.cpp Examining data/poppler-20.09.0/qt5/tests/check_fonts.cpp Examining data/poppler-20.09.0/qt5/tests/check_forms.cpp Examining data/poppler-20.09.0/qt5/tests/check_goostring.cpp Examining data/poppler-20.09.0/qt5/tests/check_lexer.cpp Examining data/poppler-20.09.0/qt5/tests/check_links.cpp Examining data/poppler-20.09.0/qt5/tests/check_metadata.cpp Examining data/poppler-20.09.0/qt5/tests/check_object.cpp Examining data/poppler-20.09.0/qt5/tests/check_optcontent.cpp Examining data/poppler-20.09.0/qt5/tests/check_outline.cpp Examining data/poppler-20.09.0/qt5/tests/check_pagelabelinfo.cpp Examining data/poppler-20.09.0/qt5/tests/check_pagelayout.cpp Examining data/poppler-20.09.0/qt5/tests/check_pagemode.cpp Examining data/poppler-20.09.0/qt5/tests/check_password.cpp Examining data/poppler-20.09.0/qt5/tests/check_permissions.cpp Examining data/poppler-20.09.0/qt5/tests/check_search.cpp Examining data/poppler-20.09.0/qt5/tests/check_strings.cpp Examining data/poppler-20.09.0/qt5/tests/check_stroke_opacity.cpp Examining data/poppler-20.09.0/qt5/tests/check_utf_conversion.cpp Examining data/poppler-20.09.0/qt5/tests/poppler-attachments.cpp Examining data/poppler-20.09.0/qt5/tests/poppler-fonts.cpp Examining data/poppler-20.09.0/qt5/tests/poppler-forms.cpp Examining data/poppler-20.09.0/qt5/tests/poppler-page-labels.cpp Examining data/poppler-20.09.0/qt5/tests/poppler-texts.cpp Examining data/poppler-20.09.0/qt5/tests/stress-poppler-dir.cpp Examining data/poppler-20.09.0/qt5/tests/stress-poppler-qt5.cpp Examining data/poppler-20.09.0/qt5/tests/stress-threads-qt5.cpp Examining data/poppler-20.09.0/qt5/tests/test-password-qt5.cpp Examining data/poppler-20.09.0/qt5/tests/test-poppler-qt5.cpp Examining data/poppler-20.09.0/qt5/tests/test-render-to-file.cpp Examining data/poppler-20.09.0/qt6/demos/abstractinfodock.cpp Examining data/poppler-20.09.0/qt6/demos/abstractinfodock.h Examining data/poppler-20.09.0/qt6/demos/documentobserver.cpp Examining data/poppler-20.09.0/qt6/demos/documentobserver.h Examining data/poppler-20.09.0/qt6/demos/embeddedfiles.cpp Examining data/poppler-20.09.0/qt6/demos/embeddedfiles.h Examining data/poppler-20.09.0/qt6/demos/fonts.cpp Examining data/poppler-20.09.0/qt6/demos/fonts.h Examining data/poppler-20.09.0/qt6/demos/info.cpp Examining data/poppler-20.09.0/qt6/demos/info.h Examining data/poppler-20.09.0/qt6/demos/main_viewer.cpp Examining data/poppler-20.09.0/qt6/demos/metadata.cpp Examining data/poppler-20.09.0/qt6/demos/metadata.h Examining data/poppler-20.09.0/qt6/demos/navigationtoolbar.cpp Examining data/poppler-20.09.0/qt6/demos/navigationtoolbar.h Examining data/poppler-20.09.0/qt6/demos/optcontent.cpp Examining data/poppler-20.09.0/qt6/demos/optcontent.h Examining data/poppler-20.09.0/qt6/demos/pageview.cpp Examining data/poppler-20.09.0/qt6/demos/pageview.h Examining data/poppler-20.09.0/qt6/demos/permissions.cpp Examining data/poppler-20.09.0/qt6/demos/permissions.h Examining data/poppler-20.09.0/qt6/demos/thumbnails.cpp Examining data/poppler-20.09.0/qt6/demos/thumbnails.h Examining data/poppler-20.09.0/qt6/demos/toc.cpp Examining data/poppler-20.09.0/qt6/demos/toc.h Examining data/poppler-20.09.0/qt6/demos/viewer.cpp Examining data/poppler-20.09.0/qt6/demos/viewer.h Examining data/poppler-20.09.0/qt6/src/ArthurOutputDev.cc Examining data/poppler-20.09.0/qt6/src/ArthurOutputDev.h Examining data/poppler-20.09.0/qt6/src/poppler-annotation-helper.h Examining data/poppler-20.09.0/qt6/src/poppler-annotation-private.h Examining data/poppler-20.09.0/qt6/src/poppler-annotation.cc Examining data/poppler-20.09.0/qt6/src/poppler-annotation.h Examining data/poppler-20.09.0/qt6/src/poppler-base-converter.cc Examining data/poppler-20.09.0/qt6/src/poppler-converter-private.h Examining data/poppler-20.09.0/qt6/src/poppler-document.cc Examining data/poppler-20.09.0/qt6/src/poppler-embeddedfile-private.h Examining data/poppler-20.09.0/qt6/src/poppler-embeddedfile.cc Examining data/poppler-20.09.0/qt6/src/poppler-export.h Examining data/poppler-20.09.0/qt6/src/poppler-fontinfo.cc Examining data/poppler-20.09.0/qt6/src/poppler-form.cc Examining data/poppler-20.09.0/qt6/src/poppler-form.h Examining data/poppler-20.09.0/qt6/src/poppler-link-extractor-private.h Examining data/poppler-20.09.0/qt6/src/poppler-link-extractor.cc Examining data/poppler-20.09.0/qt6/src/poppler-link-private.h Examining data/poppler-20.09.0/qt6/src/poppler-link.cc Examining data/poppler-20.09.0/qt6/src/poppler-link.h Examining data/poppler-20.09.0/qt6/src/poppler-media.cc Examining data/poppler-20.09.0/qt6/src/poppler-media.h Examining data/poppler-20.09.0/qt6/src/poppler-movie.cc Examining data/poppler-20.09.0/qt6/src/poppler-optcontent-private.h Examining data/poppler-20.09.0/qt6/src/poppler-optcontent.cc Examining data/poppler-20.09.0/qt6/src/poppler-optcontent.h Examining data/poppler-20.09.0/qt6/src/poppler-outline-private.h Examining data/poppler-20.09.0/qt6/src/poppler-outline.cc Examining data/poppler-20.09.0/qt6/src/poppler-page-private.h Examining data/poppler-20.09.0/qt6/src/poppler-page-transition-private.h Examining data/poppler-20.09.0/qt6/src/poppler-page-transition.cc Examining data/poppler-20.09.0/qt6/src/poppler-page-transition.h Examining data/poppler-20.09.0/qt6/src/poppler-page.cc Examining data/poppler-20.09.0/qt6/src/poppler-pdf-converter.cc Examining data/poppler-20.09.0/qt6/src/poppler-private.cc Examining data/poppler-20.09.0/qt6/src/poppler-private.h Examining data/poppler-20.09.0/qt6/src/poppler-ps-converter.cc Examining data/poppler-20.09.0/qt6/src/poppler-qiodeviceinstream-private.h Examining data/poppler-20.09.0/qt6/src/poppler-qiodeviceinstream.cc Examining data/poppler-20.09.0/qt6/src/poppler-qiodeviceoutstream-private.h Examining data/poppler-20.09.0/qt6/src/poppler-qiodeviceoutstream.cc Examining data/poppler-20.09.0/qt6/src/poppler-qt6.h Examining data/poppler-20.09.0/qt6/src/poppler-sound.cc Examining data/poppler-20.09.0/qt6/src/poppler-textbox.cc Examining data/poppler-20.09.0/qt6/src/poppler-version.cpp Examining data/poppler-20.09.0/qt6/tests/check_actualtext.cpp Examining data/poppler-20.09.0/qt6/tests/check_annotations.cpp Examining data/poppler-20.09.0/qt6/tests/check_attachments.cpp Examining data/poppler-20.09.0/qt6/tests/check_dateConversion.cpp Examining data/poppler-20.09.0/qt6/tests/check_fonts.cpp Examining data/poppler-20.09.0/qt6/tests/check_forms.cpp Examining data/poppler-20.09.0/qt6/tests/check_goostring.cpp Examining data/poppler-20.09.0/qt6/tests/check_lexer.cpp Examining data/poppler-20.09.0/qt6/tests/check_links.cpp Examining data/poppler-20.09.0/qt6/tests/check_metadata.cpp Examining data/poppler-20.09.0/qt6/tests/check_object.cpp Examining data/poppler-20.09.0/qt6/tests/check_optcontent.cpp Examining data/poppler-20.09.0/qt6/tests/check_outline.cpp Examining data/poppler-20.09.0/qt6/tests/check_pagelabelinfo.cpp Examining data/poppler-20.09.0/qt6/tests/check_pagelayout.cpp Examining data/poppler-20.09.0/qt6/tests/check_pagemode.cpp Examining data/poppler-20.09.0/qt6/tests/check_password.cpp Examining data/poppler-20.09.0/qt6/tests/check_permissions.cpp Examining data/poppler-20.09.0/qt6/tests/check_search.cpp Examining data/poppler-20.09.0/qt6/tests/check_strings.cpp Examining data/poppler-20.09.0/qt6/tests/check_stroke_opacity.cpp Examining data/poppler-20.09.0/qt6/tests/check_utf_conversion.cpp Examining data/poppler-20.09.0/qt6/tests/poppler-attachments.cpp Examining data/poppler-20.09.0/qt6/tests/poppler-fonts.cpp Examining data/poppler-20.09.0/qt6/tests/poppler-forms.cpp Examining data/poppler-20.09.0/qt6/tests/poppler-page-labels.cpp Examining data/poppler-20.09.0/qt6/tests/poppler-texts.cpp Examining data/poppler-20.09.0/qt6/tests/stress-poppler-dir.cpp Examining data/poppler-20.09.0/qt6/tests/stress-poppler-qt6.cpp Examining data/poppler-20.09.0/qt6/tests/stress-threads-qt6.cpp Examining data/poppler-20.09.0/qt6/tests/test-password-qt6.cpp Examining data/poppler-20.09.0/qt6/tests/test-poppler-qt6.cpp Examining data/poppler-20.09.0/qt6/tests/test-render-to-file.cpp Examining data/poppler-20.09.0/splash/Splash.cc Examining data/poppler-20.09.0/splash/Splash.h Examining data/poppler-20.09.0/splash/SplashBitmap.cc Examining data/poppler-20.09.0/splash/SplashBitmap.h Examining data/poppler-20.09.0/splash/SplashClip.cc Examining data/poppler-20.09.0/splash/SplashClip.h Examining data/poppler-20.09.0/splash/SplashErrorCodes.h Examining data/poppler-20.09.0/splash/SplashFTFont.cc Examining data/poppler-20.09.0/splash/SplashFTFont.h Examining data/poppler-20.09.0/splash/SplashFTFontEngine.cc Examining data/poppler-20.09.0/splash/SplashFTFontEngine.h Examining data/poppler-20.09.0/splash/SplashFTFontFile.cc Examining data/poppler-20.09.0/splash/SplashFTFontFile.h Examining data/poppler-20.09.0/splash/SplashFont.cc Examining data/poppler-20.09.0/splash/SplashFont.h Examining data/poppler-20.09.0/splash/SplashFontEngine.cc Examining data/poppler-20.09.0/splash/SplashFontEngine.h Examining data/poppler-20.09.0/splash/SplashFontFile.cc Examining data/poppler-20.09.0/splash/SplashFontFile.h Examining data/poppler-20.09.0/splash/SplashFontFileID.cc Examining data/poppler-20.09.0/splash/SplashFontFileID.h Examining data/poppler-20.09.0/splash/SplashGlyphBitmap.h Examining data/poppler-20.09.0/splash/SplashMath.h Examining data/poppler-20.09.0/splash/SplashPath.cc Examining data/poppler-20.09.0/splash/SplashPath.h Examining data/poppler-20.09.0/splash/SplashPattern.cc Examining data/poppler-20.09.0/splash/SplashPattern.h Examining data/poppler-20.09.0/splash/SplashScreen.cc Examining data/poppler-20.09.0/splash/SplashScreen.h Examining data/poppler-20.09.0/splash/SplashState.cc Examining data/poppler-20.09.0/splash/SplashState.h Examining data/poppler-20.09.0/splash/SplashTypes.h Examining data/poppler-20.09.0/splash/SplashXPath.cc Examining data/poppler-20.09.0/splash/SplashXPath.h Examining data/poppler-20.09.0/splash/SplashXPathScanner.cc Examining data/poppler-20.09.0/splash/SplashXPathScanner.h Examining data/poppler-20.09.0/test/goostring-format-checker/goostring-format-checker.cc Examining data/poppler-20.09.0/test/gtk-test.cc Examining data/poppler-20.09.0/test/pdf-fullrewrite.cc Examining data/poppler-20.09.0/test/pdf-inspector.cc Examining data/poppler-20.09.0/test/pdf-operators.c Examining data/poppler-20.09.0/test/perf-test-preview-dummy.cc Examining data/poppler-20.09.0/test/perf-test-preview-win.cc Examining data/poppler-20.09.0/test/perf-test.cc Examining data/poppler-20.09.0/utils/HtmlFonts.cc Examining data/poppler-20.09.0/utils/HtmlFonts.h Examining data/poppler-20.09.0/utils/HtmlLinks.cc Examining data/poppler-20.09.0/utils/HtmlLinks.h Examining data/poppler-20.09.0/utils/HtmlOutputDev.cc Examining data/poppler-20.09.0/utils/HtmlOutputDev.h Examining data/poppler-20.09.0/utils/HtmlUtils.h Examining data/poppler-20.09.0/utils/ImageOutputDev.cc Examining data/poppler-20.09.0/utils/ImageOutputDev.h Examining data/poppler-20.09.0/utils/InMemoryFile.cc Examining data/poppler-20.09.0/utils/InMemoryFile.h Examining data/poppler-20.09.0/utils/Win32Console.cc Examining data/poppler-20.09.0/utils/Win32Console.h Examining data/poppler-20.09.0/utils/numberofcharacters.h Examining data/poppler-20.09.0/utils/parseargs.cc Examining data/poppler-20.09.0/utils/parseargs.h Examining data/poppler-20.09.0/utils/pdfattach.cc Examining data/poppler-20.09.0/utils/pdfdetach.cc Examining data/poppler-20.09.0/utils/pdffonts.cc Examining data/poppler-20.09.0/utils/pdfimages.cc Examining data/poppler-20.09.0/utils/pdfinfo.cc Examining data/poppler-20.09.0/utils/pdfseparate.cc Examining data/poppler-20.09.0/utils/pdfsig.cc Examining data/poppler-20.09.0/utils/pdftocairo-win32.cc Examining data/poppler-20.09.0/utils/pdftocairo-win32.h Examining data/poppler-20.09.0/utils/pdftocairo.cc Examining data/poppler-20.09.0/utils/pdftohtml.cc Examining data/poppler-20.09.0/utils/pdftoppm.cc Examining data/poppler-20.09.0/utils/pdftops.cc Examining data/poppler-20.09.0/utils/pdftotext.cc Examining data/poppler-20.09.0/utils/pdfunite.cc Examining data/poppler-20.09.0/utils/printencodings.cc Examining data/poppler-20.09.0/utils/printencodings.h Examining data/poppler-20.09.0/debian/tests/test-cpp.cpp Examining data/poppler-20.09.0/debian/tests/test-glib.c Examining data/poppler-20.09.0/debian/tests/test-qt5.cpp FINAL RESULTS: data/poppler-20.09.0/fofi/FoFiType1.cc:138:13: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf, "dup %d /%s put\n", i, newEncoding[i]); data/poppler-20.09.0/fofi/FoFiType1C.cc:2717: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(buf, fofiType1CStdStrings[sid]); data/poppler-20.09.0/glib/tests/pdfdrawbb.c:28:5: [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(outfile, basename); data/poppler-20.09.0/glib/tests/pdfdrawbb.c:36:5: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(outfile, suffix); data/poppler-20.09.0/goo/gmem.h:183:17: [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). return std::strcpy(r, s); data/poppler-20.09.0/poppler/CMap.cc:213:13: [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(tok1, tok2); data/poppler-20.09.0/poppler/CMap.cc:284:13: [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(tok1, tok2); data/poppler-20.09.0/poppler/CharCodeToUnicode.cc:396:13: [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(tok1, tok2); data/poppler-20.09.0/poppler/PSOutputDev.cc:1121:19: [4] (shell) popen: 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. if (!(f = popen(fileName + 1, "w"))) { data/poppler-20.09.0/poppler/Stream.cc:397:21: [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. void FileOutStream::printf(const char *format, ...) data/poppler-20.09.0/poppler/Stream.cc:401:5: [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. vfprintf(f, format, argptr); data/poppler-20.09.0/poppler/Stream.h:281:18: [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. virtual void printf(const char *format, ...) GCC_PRINTF_FORMAT(2, 3) = 0; data/poppler-20.09.0/poppler/Stream.h:300:10: [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. void printf(const char *format, ...) override GCC_PRINTF_FORMAT(2, 3); data/poppler-20.09.0/qt5/src/poppler-qiodeviceoutstream-private.h:39:10: [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. void printf(const char *format, ...) override; data/poppler-20.09.0/qt5/src/poppler-qiodeviceoutstream.cc:46:26: [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. void QIODeviceOutStream::printf(const char *format, ...) data/poppler-20.09.0/qt6/src/poppler-qiodeviceoutstream-private.h:39:10: [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. void printf(const char *format, ...) override; data/poppler-20.09.0/qt6/src/poppler-qiodeviceoutstream.cc:46:26: [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. void QIODeviceOutStream::printf(const char *format, ...) data/poppler-20.09.0/test/perf-test.cc:759:10: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. p += vsnprintf(p, sizeof(buf) - 1, msg, args); data/poppler-20.09.0/test/perf-test.cc:772:13: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(gErrFile, buf); data/poppler-20.09.0/test/perf-test.cc:782:10: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. p += vsnprintf(p, sizeof(buf) - 3, msg, args); data/poppler-20.09.0/test/perf-test.cc:790:9: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(gErrFile, buf); data/poppler-20.09.0/test/perf-test.cc:804:10: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. p += vsnprintf(p, sizeof(buf) - 1, fmt, args); data/poppler-20.09.0/utils/ImageOutputDev.cc:87:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fileName, "%s-%03d-%03d.%s", fileRoot, pageNum, imgNum, fileExt); data/poppler-20.09.0/utils/ImageOutputDev.cc:89:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fileName, "%s-%03d.%s", fileRoot, imgNum, fileExt); data/poppler-20.09.0/utils/Win32Console.cc:76:15: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. ret = vsnprintf(buf + bufLen, BUF_SIZE - bufLen, format, args); data/poppler-20.09.0/utils/Win32Console.cc:85:9: [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. vfprintf(stream, format, args); data/poppler-20.09.0/utils/Win32Console.h:32:17: [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. # define printf(...) win32_fprintf(stdout, __VA_ARGS__) data/poppler-20.09.0/utils/Win32Console.h:33:17: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. # define fprintf(stream, ...) win32_fprintf(stream, __VA_ARGS__) data/poppler-20.09.0/utils/pdfseparate.cc:120:9: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. snprintf(pathName, sizeof(pathName) - 1, destFileName, pageNo); data/poppler-20.09.0/utils/pdftoppm.cc:611:17: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ppmFile, "%s.%s", ppmRoot, ext); data/poppler-20.09.0/utils/pdftoppm.cc:614:17: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ppmFile, "%s%s%0*d.%s", ppmRoot, sep, pg_num_len, pg, ext); data/poppler-20.09.0/utils/pdftotext.cc:456:9: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(f, fmt, s); data/poppler-20.09.0/glib/tests/pdfdrawbb.c:64:19: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. while ((opt = getopt(argc, argv, "h")) != -1) data/poppler-20.09.0/poppler/SignatureHandler.cc:202:41: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. GooString *homePath = new GooString(getenv("HOME")); data/poppler-20.09.0/poppler/SignatureHandler.cc:255:33: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. GooString homeNssDb(getenv("HOME")); data/poppler-20.09.0/cpp/poppler-image.cpp:374:15: [2] (misc) fopen: 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). FILE *f = fopen(file_name.c_str(), "wb"); data/poppler-20.09.0/cpp/poppler-image.cpp:509:14: [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(d->data, old_d->data, old_d->bytes_num); data/poppler-20.09.0/cpp/poppler-toc.cpp:81:15: [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). item->open(); data/poppler-20.09.0/cpp/tests/poppler-dump.cpp:61:1: [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 show_text[32]; data/poppler-20.09.0/cpp/tests/poppler-dump.cpp:105: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 buf[32]; data/poppler-20.09.0/cpp/tests/poppler-render.cpp:33:1: [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 out_filename[4096]; data/poppler-20.09.0/fofi/FoFiEncodings.cc:33:7: [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. const char *const fofiType1StandardEncoding[256] = { nullptr, data/poppler-20.09.0/fofi/FoFiEncodings.cc:290:7: [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. const char *const fofiType1ExpertEncoding[256] = { nullptr, data/poppler-20.09.0/fofi/FoFiEncodings.cc:551:7: [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. const char *fofiType1CStdStrings[391] = { ".notdef", data/poppler-20.09.0/fofi/FoFiEncodings.h:31:14: [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. extern const char *const fofiType1StandardEncoding[256]; data/poppler-20.09.0/fofi/FoFiEncodings.h:32:14: [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. extern const char *const fofiType1ExpertEncoding[256]; data/poppler-20.09.0/fofi/FoFiEncodings.h:38:14: [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. extern const char *fofiType1CStdStrings[391]; data/poppler-20.09.0/fofi/FoFiIdentifier.cc:182: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 buf[1024]; data/poppler-20.09.0/fofi/FoFiIdentifier.cc:308: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 buf[1024]; data/poppler-20.09.0/fofi/FoFiTrueType.cc:190:14: [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. static const char *macGlyphNames[258] = { ".notdef", data/poppler-20.09.0/fofi/FoFiTrueType.cc:1055: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 buf2[16]; data/poppler-20.09.0/fofi/FoFiTrueType.cc:1078:13: [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. sprintf(buf2, "c%02x", i); data/poppler-20.09.0/fofi/FoFiTrueType.cc:1103:14: [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. unsigned char headData[54]; data/poppler-20.09.0/fofi/FoFiTrueType.cc:1107:14: [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. unsigned char tableDir[12 + nT42Tables * 16]; data/poppler-20.09.0/fofi/FoFiTrueType.cc:1112:14: [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. unsigned char vheaTab[36] = { data/poppler-20.09.0/fofi/FoFiTrueType.cc:1144: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(headData, file + pos, 54); data/poppler-20.09.0/fofi/FoFiType1.cc:119: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 buf[512]; data/poppler-20.09.0/fofi/FoFiType1.cc:211: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 buf[256]; data/poppler-20.09.0/fofi/FoFiType1.cc:380: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(file2 + pos2, file + pos1, segLen); data/poppler-20.09.0/fofi/FoFiType1C.cc:42:14: [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. static const char hexChars[17] = "0123456789ABCDEF"; data/poppler-20.09.0/fofi/FoFiType1C.cc:123: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 buf[256]; data/poppler-20.09.0/fofi/FoFiType1C.cc:196: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 buf2[256]; data/poppler-20.09.0/fofi/FoFiType1C.cc:479: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 buf2[256]; data/poppler-20.09.0/fofi/FoFiType1C.cc:1768:14: [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. unsigned char buf[12]; data/poppler-20.09.0/fofi/FoFiType1C.cc:1865: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 buf[80]; data/poppler-20.09.0/fofi/FoFiType1C.cc:2338: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(fdSelect, file + pos, nGlyphs); data/poppler-20.09.0/fofi/FoFiType1C.cc:2372: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 buf[256]; data/poppler-20.09.0/fofi/FoFiType1C.cc:2531:18: [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. static const char nybChars[16] = "0123456789.ee -"; data/poppler-20.09.0/fofi/FoFiType1C.cc:2533: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 buf[65]; data/poppler-20.09.0/glib/poppler-cached-file-loader.cc:43: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 buf[CachedFileChunkSize]; data/poppler-20.09.0/glib/poppler-cached-file-loader.cc:83: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 buf[CachedFileChunkSize]; data/poppler-20.09.0/glib/poppler-document.cc:192:14: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). length = MultiByteToWideChar(CP_UTF8, 0, filename, -1, nullptr, 0); data/poppler-20.09.0/glib/poppler-document.cc:198:14: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). length = MultiByteToWideChar(CP_UTF8, 0, filename, -1, filenameW, length); data/poppler-20.09.0/glib/poppler-document.cc:2455:11: [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). item->open(); data/poppler-20.09.0/glib/tests/pdfdrawbb.c:37:5: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(outfile, ".pdf"); data/poppler-20.09.0/goo/GooString.cc:163: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 buf[65]; data/poppler-20.09.0/goo/GooString.cc:240:29: [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(args, argsBuf, argsLen * sizeof(GooStringFormatArg)); data/poppler-20.09.0/goo/GooString.cc:470:7: [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. const char lowerCaseDigits[17] = "0123456789abcdef"; data/poppler-20.09.0/goo/GooString.cc:471:7: [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. const char upperCaseDigits[17] = "0123456789ABCDEF"; data/poppler-20.09.0/goo/GooString.cc:639:13: [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 buf[8]; data/poppler-20.09.0/goo/GooString.cc:640:13: [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. sprintf(buf, "#%02x", c & 0xff); data/poppler-20.09.0/goo/JpegWriter.cc:40: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 buffer[JMSG_LENGTH_MAX]; data/poppler-20.09.0/goo/PNGWriter.cc:66: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(priv->icc_data, data, size); data/poppler-20.09.0/goo/gbase64.cc:17:30: [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. static void b64encodeTriplet(char output[4], unsigned char a, unsigned char b, unsigned char c) data/poppler-20.09.0/goo/gbase64.cc:28: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 quad[4]; data/poppler-20.09.0/goo/gbasename.cc:52: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 fname[_MAX_FNAME] = {}, fext[_MAX_EXT] = {}; data/poppler-20.09.0/goo/gfile.cc:103: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 buf[256]; data/poppler-20.09.0/goo/gfile.cc:168: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). return open(path, flags | O_CLOEXEC); data/poppler-20.09.0/goo/gfile.cc:170:14: [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). int fd = open(path, flags); data/poppler-20.09.0/goo/gfile.cc:189:5: [2] (buffer) wchar_t: 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. wchar_t wPath[_MAX_PATH + 1]; data/poppler-20.09.0/goo/gfile.cc:190: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 nPath[_MAX_PATH + 1]; data/poppler-20.09.0/goo/gfile.cc:191:5: [2] (buffer) wchar_t: 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. wchar_t wMode[8]; data/poppler-20.09.0/goo/gfile.cc:231:16: [2] (misc) fopen: 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). return fopen(nPath, mode); data/poppler-20.09.0/goo/gfile.cc:236:18: [2] (misc) fopen: 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). FILE *file = fopen(path, modeStr.c_str()); data/poppler-20.09.0/goo/gfile.cc:241:12: [2] (misc) fopen: 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). file = fopen(path, mode); data/poppler-20.09.0/goo/gfile.cc:361: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). GooFile *GooFile::open(const GooString *fileName) data/poppler-20.09.0/goo/gfile.cc:368: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). GooFile *GooFile::open(const wchar_t *fileName) data/poppler-20.09.0/goo/gfile.cc:403: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). GooFile *GooFile::open(const GooString *fileName) data/poppler-20.09.0/goo/gfile.h:123: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). static GooFile *open(const GooString *fileName); data/poppler-20.09.0/goo/gfile.h:126: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). static GooFile *open(const wchar_t *fileName); data/poppler-20.09.0/goo/gstrtod.cc:97: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(c, nptr, decimal_point_pos - nptr); data/poppler-20.09.0/goo/gstrtod.cc:99: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(c, decimal_point, decimal_point_len); data/poppler-20.09.0/goo/gstrtod.cc:101: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(c, decimal_point_pos + 1, end - (decimal_point_pos + 1)); data/poppler-20.09.0/goo/gstrtod.cc:121: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(copy, nptr, end - nptr); data/poppler-20.09.0/poppler/Annot.cc:1966:27: [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). update("Open", Object(open)); data/poppler-20.09.0/poppler/Annot.cc:2223:27: [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). update("Open", Object(open)); data/poppler-20.09.0/poppler/Annot.h:800: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). bool getOpen() const { return open; } data/poppler-20.09.0/poppler/Annot.h:807:10: [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). bool open; // Open data/poppler-20.09.0/poppler/Annot.h:893: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). bool getOpen() const { return open; } data/poppler-20.09.0/poppler/Annot.h:903:10: [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). bool open; // Open (Default false) data/poppler-20.09.0/poppler/CMap.cc:136: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 tok1[256], tok2[256], tok3[256]; data/poppler-20.09.0/poppler/CMap.cc:170:27: [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). cmap->wMode = atoi(tok2); data/poppler-20.09.0/poppler/CMap.cc:191:52: [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). cmap->addCIDs(code, code, n1, (CID)atoi(tok2)); data/poppler-20.09.0/poppler/CMap.cc:208:56: [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). cmap->addCIDs(start, end, n1, (CID)atoi(tok3)); data/poppler-20.09.0/poppler/CMap.cc:228: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 tok1[256], tok2[256], tok3[256]; data/poppler-20.09.0/poppler/CMap.cc:241:21: [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). wMode = atoi(tok2); data/poppler-20.09.0/poppler/CMap.cc:262:46: [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). addCIDs(code, code, n1, (CID)atoi(tok2)); data/poppler-20.09.0/poppler/CMap.cc:279:50: [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). addCIDs(start, end, n1, (CID)atoi(tok3)); data/poppler-20.09.0/poppler/CachedFile.cc:174: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(ptr, (*chunks)[chunk].data + offset, len); data/poppler-20.09.0/poppler/CachedFile.cc:241: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(&((*cachedFile->chunks)[chunk].data[offset]), cp, ncopy); data/poppler-20.09.0/poppler/CachedFile.h:75: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 data[CachedFileChunkSize]; data/poppler-20.09.0/poppler/CairoFontEngine.cc:430: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(codeToGID, ((GfxCIDFont *)gfxFont)->getCIDToGID(), n * sizeof(int)); data/poppler-20.09.0/poppler/CairoFontEngine.cc:499: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(codeToGID, ((GfxCIDFont *)gfxFont)->getCIDToGID(), n * sizeof(int)); data/poppler-20.09.0/poppler/Catalog.cc:789: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 buffer[32]; data/poppler-20.09.0/poppler/CharCodeToUnicode.cc:137: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 buf[64]; data/poppler-20.09.0/poppler/CharCodeToUnicode.cc:176: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 buf[256]; data/poppler-20.09.0/poppler/CharCodeToUnicode.cc:296: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 tok1[256], tok2[256], tok3[256]; data/poppler-20.09.0/poppler/CharCodeToUnicode.cc:494: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(map, mapA, mapLen * sizeof(Unicode)); data/poppler-20.09.0/poppler/DateInfo.cc:80: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 buf[50]; data/poppler-20.09.0/poppler/Decrypt.cc:59:23: [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. static const unsigned char passwordPad[32] = { 0x28, 0xbf, 0x4e, 0x5e, 0x4e, 0x75, 0x8a, 0x41, 0x64, 0x00, 0x4e, 0x56, 0xff, 0xfa, 0x01, 0x08, 0x2e, 0x2e, 0x00, 0xb6, 0xd0, 0x68, 0x3e, 0x80, 0x2f, 0x0c, 0xa9, 0xfe, 0x64, 0x53, 0x69, 0x7a }; data/poppler-20.09.0/poppler/Decrypt.cc:69:14: [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. unsigned char test[127 + 56], test2[32]; data/poppler-20.09.0/poppler/Decrypt.cc:71:14: [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. unsigned char fState[256]; data/poppler-20.09.0/poppler/Decrypt.cc:72:14: [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. unsigned char tmpKey[16]; data/poppler-20.09.0/poppler/Decrypt.cc:87: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(test, ownerPassword->c_str(), len); data/poppler-20.09.0/poppler/Decrypt.cc:88: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(test + len, ownerKey->c_str() + 32, 8); data/poppler-20.09.0/poppler/Decrypt.cc:89: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(test + len + 8, userKey->c_str(), 48); data/poppler-20.09.0/poppler/Decrypt.cc:98: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(test, ownerPassword->c_str(), len); data/poppler-20.09.0/poppler/Decrypt.cc:99: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(test + len, ownerKey->c_str() + 40, 8); data/poppler-20.09.0/poppler/Decrypt.cc:100: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(test + len + 8, userKey->c_str(), 48); data/poppler-20.09.0/poppler/Decrypt.cc:111: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(fileKey, state.buf, 16); data/poppler-20.09.0/poppler/Decrypt.cc: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(fileKey + 16, state.buf, 16); data/poppler-20.09.0/poppler/Decrypt.cc:127: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(test, userPassword->c_str(), len); data/poppler-20.09.0/poppler/Decrypt.cc:128: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(test + len, userKey->c_str() + 32, 8); data/poppler-20.09.0/poppler/Decrypt.cc:138: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(test, userPassword->c_str(), len); data/poppler-20.09.0/poppler/Decrypt.cc:139: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(test + len, userKey->c_str() + 40, 8); data/poppler-20.09.0/poppler/Decrypt.cc:151: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(fileKey, state.buf, 16); data/poppler-20.09.0/poppler/Decrypt.cc:153: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(fileKey + 16, state.buf, 16); data/poppler-20.09.0/poppler/Decrypt.cc:166: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(test, ownerPassword->c_str(), len); data/poppler-20.09.0/poppler/Decrypt.cc:167: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(test + len, passwordPad, 32 - len); data/poppler-20.09.0/poppler/Decrypt.cc:169: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(test, ownerPassword->c_str(), 32); data/poppler-20.09.0/poppler/Decrypt.cc:184: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(test2, ownerKey->c_str(), 32); data/poppler-20.09.0/poppler/Decrypt.cc:214:14: [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. unsigned char test[32]; data/poppler-20.09.0/poppler/Decrypt.cc:215:14: [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. unsigned char fState[256]; data/poppler-20.09.0/poppler/Decrypt.cc:216:14: [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. unsigned char tmpKey[16]; data/poppler-20.09.0/poppler/Decrypt.cc:226: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(buf, userPassword->c_str(), len); data/poppler-20.09.0/poppler/Decrypt.cc:227: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(buf + len, passwordPad, 32 - len); data/poppler-20.09.0/poppler/Decrypt.cc:229: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(buf, userPassword->c_str(), 32); data/poppler-20.09.0/poppler/Decrypt.cc:232: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(buf, passwordPad, 32); data/poppler-20.09.0/poppler/Decrypt.cc:234: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(buf + 32, ownerKey->c_str(), 32); data/poppler-20.09.0/poppler/Decrypt.cc:239: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(buf + 68, fileID->c_str(), fileID->getLength()); data/poppler-20.09.0/poppler/Decrypt.cc:263: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(test, userKey->c_str(), 32); data/poppler-20.09.0/poppler/Decrypt.cc:274: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(buf, passwordPad, 32); data/poppler-20.09.0/poppler/Decrypt.cc:275: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(buf + 32, fileID->c_str(), fileID->getLength()); data/poppler-20.09.0/poppler/Decrypt.cc:415: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(state.aes.buf, state.aes.cbc, 16); // Copy CBC IV to buf data/poppler-20.09.0/poppler/Decrypt.cc:421: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(state.aes256.buf, state.aes256.cbc, 16); // Copy CBC IV to buf data/poppler-20.09.0/poppler/Decrypt.cc:432:14: [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. unsigned char in[16]; data/poppler-20.09.0/poppler/Decrypt.cc:513:14: [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. unsigned char in[16]; data/poppler-20.09.0/poppler/Decrypt.cc:625:23: [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. static const unsigned char sbox[256] = { 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, data/poppler-20.09.0/poppler/Decrypt.cc:634:23: [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. static const unsigned char invSbox[256] = { 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, data/poppler-20.09.0/poppler/Decrypt.cc:734:14: [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. unsigned char values[256]; data/poppler-20.09.0/poppler/Decrypt.cc:752:14: [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. unsigned char values[256]; data/poppler-20.09.0/poppler/Decrypt.cc:772:14: [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. unsigned char values[256]; data/poppler-20.09.0/poppler/Decrypt.cc:792:14: [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. unsigned char values[256]; data/poppler-20.09.0/poppler/Decrypt.cc:812:14: [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. unsigned char values[256]; data/poppler-20.09.0/poppler/Decrypt.cc:832:14: [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. unsigned char values[256]; data/poppler-20.09.0/poppler/Decrypt.cc:1179:14: [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. unsigned char buf[64]; data/poppler-20.09.0/poppler/Decrypt.cc:1182:14: [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. unsigned char digest[16]; data/poppler-20.09.0/poppler/Decrypt.cc:1295: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(state->buf + state->bufLen, p, k); data/poppler-20.09.0/poppler/Decrypt.cc:1302: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(state->buf + state->bufLen, p, remain); data/poppler-20.09.0/poppler/Decrypt.cc:1461:14: [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. unsigned char blk[64]; data/poppler-20.09.0/poppler/Decrypt.cc:1480: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(blk, msg + i, blkLen); data/poppler-20.09.0/poppler/Decrypt.cc:1610:14: [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. unsigned char blk[128]; data/poppler-20.09.0/poppler/Decrypt.cc:1628: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(blk, msg + i, blkLen); data/poppler-20.09.0/poppler/Decrypt.cc:1683:14: [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. unsigned char blk[128]; data/poppler-20.09.0/poppler/Decrypt.cc:1702: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(blk, msg + i, blkLen); data/poppler-20.09.0/poppler/Decrypt.cc:1756:14: [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. unsigned char K1[64 * (127 + 64 + 48)]; data/poppler-20.09.0/poppler/Decrypt.cc:1757:14: [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. unsigned char E[64 * (127 + 64 + 48)]; data/poppler-20.09.0/poppler/Decrypt.cc:1759:14: [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. unsigned char aesKey[16]; data/poppler-20.09.0/poppler/Decrypt.cc:1760:14: [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. unsigned char BE16byteNumber[16]; data/poppler-20.09.0/poppler/Decrypt.cc:1776: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(K1, inputPassword->c_str(), inputPasswordLength); data/poppler-20.09.0/poppler/Decrypt.cc:1777: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(K1 + inputPasswordLength, K, KLength); data/poppler-20.09.0/poppler/Decrypt.cc:1778: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(K1 + inputPasswordLength + KLength, userKey, userKeyLength); data/poppler-20.09.0/poppler/Decrypt.cc:1780: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(K1 + (i * sequenceLength), K1, sequenceLength); data/poppler-20.09.0/poppler/Decrypt.cc:1783: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(aesKey, K, 16); data/poppler-20.09.0/poppler/Decrypt.cc:1784: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(state.cbc, K + 16, 16); data/poppler-20.09.0/poppler/Decrypt.cc:1785: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(state.buf, state.cbc, 16); // Copy CBC IV to buf data/poppler-20.09.0/poppler/Decrypt.cc:1792: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(E + (16 * i), state.buf, 16); data/poppler-20.09.0/poppler/Decrypt.cc:1794: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(BE16byteNumber, E, 16); data/poppler-20.09.0/poppler/Decrypt.h:68:14: [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. unsigned char state[256]; data/poppler-20.09.0/poppler/Decrypt.h:75:14: [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. unsigned char state[16]; data/poppler-20.09.0/poppler/Decrypt.h:76:14: [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. unsigned char cbc[16]; data/poppler-20.09.0/poppler/Decrypt.h:77:14: [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. unsigned char buf[16]; data/poppler-20.09.0/poppler/Decrypt.h:85:14: [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. unsigned char state[16]; data/poppler-20.09.0/poppler/Decrypt.h:86:14: [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. unsigned char cbc[16]; data/poppler-20.09.0/poppler/Decrypt.h:87:14: [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. unsigned char buf[16]; data/poppler-20.09.0/poppler/Decrypt.h:109:14: [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. unsigned char objKey[32]; data/poppler-20.09.0/poppler/FlateEncoder.h:56:14: [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. unsigned char inBuf[inBufSize]; data/poppler-20.09.0/poppler/FlateEncoder.h:57:14: [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. unsigned char outBuf[outBufSize]; data/poppler-20.09.0/poppler/FlateStream.h:63:14: [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. unsigned char in_buf[1]; data/poppler-20.09.0/poppler/FlateStream.h:64:14: [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. unsigned char out_buf[4096]; data/poppler-20.09.0/poppler/FontEncodingTables.cc:13:7: [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. const char *macRomanEncoding[256] = { nullptr, data/poppler-20.09.0/poppler/FontEncodingTables.cc:270:7: [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. const char *macExpertEncoding[256] = { nullptr, data/poppler-20.09.0/poppler/FontEncodingTables.cc:527:7: [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. const char *winAnsiEncoding[256] = { nullptr, data/poppler-20.09.0/poppler/FontEncodingTables.cc:784:7: [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. const char *standardEncoding[256] = { nullptr, data/poppler-20.09.0/poppler/FontEncodingTables.cc:1041:7: [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. const char *expertEncoding[256] = { nullptr, data/poppler-20.09.0/poppler/FontEncodingTables.cc:1298:7: [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. const char *symbolEncoding[256] = { nullptr, data/poppler-20.09.0/poppler/FontEncodingTables.cc:1555:7: [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. const char *zapfDingbatsEncoding[256] = { nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, data/poppler-20.09.0/poppler/Form.cc:1742:14: [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. unsigned char signed_data_buffer[BLOCK_SIZE]; data/poppler-20.09.0/poppler/Form.cc:1790: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(signatureuchar, signature->c_str(), signature_len); data/poppler-20.09.0/poppler/Function.cc:110: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(domain, func->domain, funcMaxInputs * 2 * sizeof(double)); data/poppler-20.09.0/poppler/Function.cc: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(range, func->range, funcMaxOutputs * 2 * sizeof(double)); data/poppler-20.09.0/poppler/Function.cc:417: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(sampleSize, func->sampleSize, funcMaxInputs * sizeof(int)); data/poppler-20.09.0/poppler/Function.cc:419: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(encode, func->encode, funcMaxInputs * 2 * sizeof(double)); data/poppler-20.09.0/poppler/Function.cc:420: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(decode, func->decode, funcMaxOutputs * 2 * sizeof(double)); data/poppler-20.09.0/poppler/Function.cc:422: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(inputMul, func->inputMul, funcMaxInputs * sizeof(double)); data/poppler-20.09.0/poppler/Function.cc:427: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(idxOffset, func->idxOffset, (1 << m) * (int)sizeof(int)); data/poppler-20.09.0/poppler/Function.cc:430: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(samples, func->samples, nSamples * sizeof(double)); data/poppler-20.09.0/poppler/Function.cc:434: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(cacheIn, func->cacheIn, funcMaxInputs * sizeof(double)); data/poppler-20.09.0/poppler/Function.cc:435: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(cacheOut, func->cacheOut, funcMaxOutputs * sizeof(double)); data/poppler-20.09.0/poppler/Function.cc:626: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(c0, func->c0, funcMaxOutputs * sizeof(double)); data/poppler-20.09.0/poppler/Function.cc:627: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(c1, func->c1, funcMaxOutputs * sizeof(double)); data/poppler-20.09.0/poppler/Function.cc:775: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(bounds, func->bounds, (k + 1) * sizeof(double)); data/poppler-20.09.0/poppler/Function.cc:778: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(encode, func->encode, 2 * k * sizeof(double)); data/poppler-20.09.0/poppler/Function.cc:781: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(scale, func->scale, k * sizeof(double)); data/poppler-20.09.0/poppler/Function.cc:1161: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(code, func->code, codeSize * sizeof(PSObject)); data/poppler-20.09.0/poppler/Function.cc:1165: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(cacheIn, func->cacheIn, funcMaxInputs * sizeof(double)); data/poppler-20.09.0/poppler/Function.cc:1166: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(cacheOut, func->cacheOut, funcMaxOutputs * sizeof(double)); data/poppler-20.09.0/poppler/Function.cc:1247:39: [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). code[*codePtr].intg = atoi(tok.c_str()); data/poppler-20.09.0/poppler/Gfx.cc:5243: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(dash2, dash, dashLength * sizeof(double)); data/poppler-20.09.0/poppler/Gfx.h:102: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 name[4]; data/poppler-20.09.0/poppler/GfxFont.cc:152:14: [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. static const char *base14SubstFonts[14] = { "Courier", "Courier-Oblique", "Courier-Bold", "Courier-BoldOblique", "Helvetica", "Helvetica-Oblique", "Helvetica-Bold", "Helvetica-BoldOblique", "Times-Roman", "Times-Italic", "Times-Bold", data/poppler-20.09.0/poppler/GfxFont.cc:1191:19: [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. enc[i] = (char *)baseEnc[i]; data/poppler-20.09.0/poppler/GfxFont.cc:1204:27: [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. enc[i] = (char *)standardEncoding[i]; data/poppler-20.09.0/poppler/GfxFont.h:373: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 *enc[256]; // char code --> char name data/poppler-20.09.0/poppler/GfxFont.h:374: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 encFree[256]; // boolean for each char name: if set, data/poppler-20.09.0/poppler/GfxState.cc:540: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(out, in, length); data/poppler-20.09.0/poppler/GfxState.cc:702:18: [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. unsigned char out[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:727:18: [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. unsigned char out[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:760:18: [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. unsigned char out[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:1073:18: [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. unsigned char out[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:1098:18: [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. unsigned char out[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:1128:18: [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. unsigned char out[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:1406:18: [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. unsigned char out[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:1456:18: [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. unsigned char out[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:1468:18: [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. unsigned char out[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:1511:18: [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. unsigned char out[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:1756:18: [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. unsigned char in[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:1757:18: [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. unsigned char out[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:1804:18: [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. unsigned char in[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:1805:18: [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. unsigned char out[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:1843:18: [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. unsigned char in[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:1844:18: [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. unsigned char out[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:2067:18: [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. unsigned char in[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:2068:18: [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. unsigned char out[gfxColorMaxComps]; data/poppler-20.09.0/poppler/GfxState.cc:2276: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(cs->lookup, lookup, (indexHigh + 1) * base->getNComps() * sizeof(unsigned char)); data/poppler-20.09.0/poppler/GfxState.cc:4461: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(vertices, shading->vertices, nVertices * sizeof(GfxGouraudVertex)); data/poppler-20.09.0/poppler/GfxState.cc:4464: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(triangles, shading->triangles, nTriangles * 3 * sizeof(int)); data/poppler-20.09.0/poppler/GfxState.cc:4764: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(patches, shading->patches, nPatches * sizeof(GfxPatch)); data/poppler-20.09.0/poppler/GfxState.cc:5500: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(lookup[k], colorMap->lookup[k], n * sizeof(GfxColorComp)); data/poppler-20.09.0/poppler/GfxState.cc:5506: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(lookup2[k], colorMap->lookup2[k], n * sizeof(GfxColorComp)); data/poppler-20.09.0/poppler/GfxState.cc:5512: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(lookup2[k], colorMap->lookup2[k], n * sizeof(GfxColorComp)); data/poppler-20.09.0/poppler/GfxState.cc:5517: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(lookup2[k], colorMap->lookup2[k], n * sizeof(GfxColorComp)); data/poppler-20.09.0/poppler/GfxState.cc:5524: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(byte_lookup, colorMap->byte_lookup, n * nc); data/poppler-20.09.0/poppler/GfxState.cc:5919: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(x, subpath->x, n * sizeof(double)); data/poppler-20.09.0/poppler/GfxState.cc:5920: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(y, subpath->y, n * sizeof(double)); data/poppler-20.09.0/poppler/GfxState.cc:5921: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(curve, subpath->curve, n * sizeof(bool)); data/poppler-20.09.0/poppler/GfxState.cc:6341: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(lineDash, state->lineDash, lineDashLength * sizeof(double)); data/poppler-20.09.0/poppler/GfxState.h:1451:36: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. void getCTM(Matrix *m) const { memcpy(m->m, ctm, sizeof m->m); } data/poppler-20.09.0/poppler/GfxState.h:1696: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 renderingIntent[32]; data/poppler-20.09.0/poppler/GlobalParams.cc:125:12: [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. static char retval[MAX_PATH]; data/poppler-20.09.0/poppler/GlobalParams.cc:143:5: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(retval, "\\share\\poppler"); data/poppler-20.09.0/poppler/GlobalParams.cc:489: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 buf[256]; data/poppler-20.09.0/poppler/GlobalParamsWin.cc:222: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 valName[1024], data[1024]; data/poppler-20.09.0/poppler/GlobalParamsWin.cc:376: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 winFontDir[MAX_PATH]; data/poppler-20.09.0/poppler/GlobalParamsWin.cc:417: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). file = GooFile::open(fileName); data/poppler-20.09.0/poppler/JArithmeticDecoder.cc:53: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(stats->cxTab, cxTab, contextSize); data/poppler-20.09.0/poppler/JArithmeticDecoder.cc:64: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(cxTab, stats->cxTab, contextSize); data/poppler-20.09.0/poppler/JBIG2Stream.cc:624: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(data, bitmap->data, h * line); data/poppler-20.09.0/poppler/JBIG2Stream.cc:731: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(data + yDest * line, data + ySrc * line, line); data/poppler-20.09.0/poppler/JPEG2000Stream.cc:216: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(p_buffer, jpxData->data + jpxData->pos, len); data/poppler-20.09.0/poppler/JSInfo.cc:42: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 buf[8]; data/poppler-20.09.0/poppler/Lexer.cc:42:14: [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. static const char specialChars[256] = { data/poppler-20.09.0/poppler/Lexer.h:107: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 tokBuf[tokBufSize]; // temporary token buffer data/poppler-20.09.0/poppler/MarkedContentOutputDev.cc:169:13: [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 buf[8]; data/poppler-20.09.0/poppler/Object.cc:39:14: [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. static const char *objTypeNames[numObjTypes] = { "boolean", "integer", "real", "string", "name", "null", "array", "dictionary", "stream", "ref", "cmd", "error", "eof", "none", "integer64", "dead" }; data/poppler-20.09.0/poppler/Object.cc:46: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(reinterpret_cast<void *>(&obj), this, sizeof(Object)); data/poppler-20.09.0/poppler/Object.h:232:14: [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(reinterpret_cast<void *>(this), &other, sizeof(Object)); data/poppler-20.09.0/poppler/Object.h:240:14: [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(reinterpret_cast<void *>(this), &other, sizeof(Object)); data/poppler-20.09.0/poppler/Outline.cc:148: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). void OutlineItem::open() data/poppler-20.09.0/poppler/Outline.h:67:10: [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/poppler-20.09.0/poppler/PDFDoc.cc:158: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). file = GooFile::open(wFileName); data/poppler-20.09.0/poppler/PDFDoc.cc:161: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). file = GooFile::open(fileName); data/poppler-20.09.0/poppler/PDFDoc.cc:204: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). file = GooFile::open(fileNameU); data/poppler-20.09.0/poppler/PDFDoc.cc:206: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). file = GooFile::open(fileName); data/poppler-20.09.0/poppler/PDFDoc.cc:401: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 hdrBuf[headerSearchSize + 1]; data/poppler-20.09.0/poppler/PDFDoc.cc:792: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 pdfid[pdfIdLength + 1]; data/poppler-20.09.0/poppler/PDFDoc.cc:798:9: [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. n = sprintf(pdfid, "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", encodedid[0] & 0xff, encodedid[1] & 0xff, encodedid[2] & 0xff, encodedid[3] & 0xff, encodedid[4] & 0xff, encodedid[5] & 0xff, encodedid[6] & 0xff, data/poppler-20.09.0/poppler/PDFDoc.cc:1512: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 buffer[256]; data/poppler-20.09.0/poppler/PDFDoc.cc:1513:5: [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. sprintf(buffer, "%i", (int)time(nullptr)); data/poppler-20.09.0/poppler/PDFDoc.cc:1519:5: [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. sprintf(buffer, "%lli", (long long)fileSize); data/poppler-20.09.0/poppler/PDFDoc.cc:1545:14: [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. unsigned char digest[16]; data/poppler-20.09.0/poppler/PDFDoc.cc:1963:13: [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 buf[linearizationSearchSize + 1]; data/poppler-20.09.0/poppler/PDFDoc.cc:1988:13: [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 buf[xrefSearchSize + 1]; data/poppler-20.09.0/poppler/PSOutputDev.cc:1049:14: [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. unsigned char pixBuf[gfxColorMaxComps]; data/poppler-20.09.0/poppler/PSOutputDev.cc:1836: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 buf[16]; data/poppler-20.09.0/poppler/PSOutputDev.cc:2013:21: [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. sprintf(buf, "c%02x", i + j); data/poppler-20.09.0/poppler/PSOutputDev.cc:2037:18: [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. static const char hexChar[17] = "0123456789abcdef"; data/poppler-20.09.0/poppler/PSOutputDev.cc:2202:18: [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. static const char hexChar[17] = "0123456789abcdef"; data/poppler-20.09.0/poppler/PSOutputDev.cc:2455:21: [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(codeToGID, ((GfxCIDFont *)font)->getCIDToGID(), codeToGIDLen * sizeof(int)); data/poppler-20.09.0/poppler/PSOutputDev.cc:3070:14: [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. unsigned char col[4]; data/poppler-20.09.0/poppler/PSOutputDev.cc:3076: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 hexBuf[32 * 2 + 2]; // 32 values X 2 chars/value + line ending + null data/poppler-20.09.0/poppler/PSOutputDev.cc:4878: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 buf[8]; data/poppler-20.09.0/poppler/PSOutputDev.cc:5124:14: [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. unsigned char pixBuf[gfxColorMaxComps]; data/poppler-20.09.0/poppler/PSOutputDev.cc:5127: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 hexBuf[32 * 2 + 2]; // 32 values X 2 chars/value + line ending + null data/poppler-20.09.0/poppler/PSOutputDev.cc:5269:14: [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. unsigned char pixBuf[gfxColorMaxComps]; data/poppler-20.09.0/poppler/PSOutputDev.cc:5273: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 hexBuf[32 * 2 + 2]; // 32 values X 2 chars/value + line ending + null data/poppler-20.09.0/poppler/PSOutputDev.cc:5561: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 dataBuf[4096]; data/poppler-20.09.0/poppler/PSOutputDev.cc:7227: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 buf[8]; data/poppler-20.09.0/poppler/PSOutputDev.cc:7242:13: [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. sprintf(buf, "\\%03o", *p); data/poppler-20.09.0/poppler/PSOutputDev.cc:7271: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 buf[8]; data/poppler-20.09.0/poppler/PSOutputDev.cc:7288:13: [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. sprintf(buf, "#%02x", c & 0xff); data/poppler-20.09.0/poppler/PSTokenizer.cc:35:14: [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. static const char specialChars[256] = { data/poppler-20.09.0/poppler/Page.cc:682:26: [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. unsigned char pix[gfxColorMaxComps]; data/poppler-20.09.0/poppler/PageLabelInfo.cc:151: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 buffer[32]; data/poppler-20.09.0/poppler/PageLabelInfo.cc:195: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 ucs2_char[2]; data/poppler-20.09.0/poppler/SecurityHandler.h:116:14: [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. unsigned char fileKey[32]; data/poppler-20.09.0/poppler/SplashOutputDev.cc:1783:14: [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. unsigned char red[256], green[256], blue[256], gray[256]; data/poppler-20.09.0/poppler/SplashOutputDev.cc:1975: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(codeToGID, ((GfxCIDFont *)gfxFont)->getCIDToGID(), n * sizeof(int)); data/poppler-20.09.0/poppler/SplashOutputDev.cc:1997:21: [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(codeToGID, ((GfxCIDFont *)gfxFont)->getCIDToGID(), n * sizeof(int)); data/poppler-20.09.0/poppler/SplashOutputDev.cc:2422: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(t3GlyphStack->cacheData, bitmap->getDataPtr(), t3GlyphStack->cache->glyphSize); data/poppler-20.09.0/poppler/SplashOutputDev.cc:2973: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(colorLine, p, imgData->width * nComps); data/poppler-20.09.0/poppler/SplashOutputDev.cc:2993: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(p, colorLine, nComps * bitmap->getWidth()); data/poppler-20.09.0/poppler/SplashOutputDev.cc:2998: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(p, colorLine, nComps * bitmap->getWidth()); data/poppler-20.09.0/poppler/SplashOutputDev.cc:3002: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(p, colorLine, nComps * bitmap->getWidth()); data/poppler-20.09.0/poppler/SplashOutputDev.cc:3006: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(p, colorLine, nComps * bitmap->getWidth()); data/poppler-20.09.0/poppler/StdinCachedFile.cc:26: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 buf[CachedFileChunkSize]; data/poppler-20.09.0/poppler/Stream.cc:507: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(buffer + n, bufPtr, m); data/poppler-20.09.0/poppler/Stream.cc:731: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(buffer + n, predLine + predIdx, m); data/poppler-20.09.0/poppler/Stream.cc:741:14: [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. unsigned char upLeftBuf[gfxColorMaxComps * 2 + 1]; data/poppler-20.09.0/poppler/Stream.cc:1171: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(buffer, bufData, nChars); data/poppler-20.09.0/poppler/Stream.cc:1184: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(bufData + bufLen, buffer, len); data/poppler-20.09.0/poppler/Stream.cc:1481: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(buffer + n, seqBuf + seqIndex, m); data/poppler-20.09.0/poppler/Stream.cc:1649: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(buffer + n, bufPtr, m); data/poppler-20.09.0/poppler/Stream.cc:2459: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 s1[50]; data/poppler-20.09.0/poppler/Stream.cc:2469:9: [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. sprintf(s1, "/K %d ", encoding); data/poppler-20.09.0/poppler/Stream.cc:2478:5: [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. sprintf(s1, "/Columns %d ", columns); data/poppler-20.09.0/poppler/Stream.cc:2481:9: [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. sprintf(s1, "/Rows %d ", rows); data/poppler-20.09.0/poppler/Stream.cc:2524: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. static unsigned char dctClip[dctClipLength]; data/poppler-20.09.0/poppler/Stream.cc:2777:14: [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. unsigned char data2[64]; data/poppler-20.09.0/poppler/Stream.cc:3170:14: [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. unsigned char dataOut[64]; data/poppler-20.09.0/poppler/Stream.cc:3308:88: [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. void DCTStream::transformDataUnit(unsigned short *quantTable, int dataIn[64], unsigned char dataOut[64]) data/poppler-20.09.0/poppler/Stream.cc:3849: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 buf[5]; data/poppler-20.09.0/poppler/Stream.cc:3880: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 buf[12]; data/poppler-20.09.0/poppler/Stream.cc:4694: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 buf1[5]; data/poppler-20.09.0/poppler/Stream.h:141:18: [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. unsigned char readBuf[4096]; data/poppler-20.09.0/poppler/Stream.h:385: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 buf[seekInputStreamBufSize]; data/poppler-20.09.0/poppler/Stream.h:552: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(buffer + n, bufPtr, m); data/poppler-20.09.0/poppler/Stream.h:564: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 buf[fileStreamBufSize]; data/poppler-20.09.0/poppler/Stream.h:606: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 buf[cachedStreamBufSize]; data/poppler-20.09.0/poppler/Stream.h:708: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(buffer, bufPtr, n); data/poppler-20.09.0/poppler/Stream.h:883:14: [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. unsigned char seqBuf[4097]; // buffer for current sequence data/poppler-20.09.0/poppler/Stream.h:913: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 buf[128]; // buffer data/poppler-20.09.0/poppler/Stream.h:1017:14: [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. unsigned char firstSym[17]; // first symbol for this bit length data/poppler-20.09.0/poppler/Stream.h:1020:14: [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. unsigned char sym[256]; // symbols data/poppler-20.09.0/poppler/Stream.h:1060:14: [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. unsigned char *rowBuf[4][32]; // buffer for one MCU (non-progressive mode) data/poppler-20.09.0/poppler/Stream.h:1075:81: [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. void transformDataUnit(unsigned short *quantTable, int dataIn[64], unsigned char dataOut[64]); data/poppler-20.09.0/poppler/Stream.h:1163:14: [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. unsigned char buf[flateWindow]; // output data buffer data/poppler-20.09.0/poppler/Stream.h:1278: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 buf[4]; data/poppler-20.09.0/poppler/Stream.h:1305: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 buf[8]; data/poppler-20.09.0/poppler/Stream.h:1332: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 buf[131]; data/poppler-20.09.0/poppler/Stream.h:1369:14: [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. unsigned char inBuf[4096]; data/poppler-20.09.0/poppler/Stream.h:1396: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 buf[2]; data/poppler-20.09.0/poppler/Stream.h:1422: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 buf[2]; data/poppler-20.09.0/poppler/TextOutputDev.cc:201: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 lre[8], rle[8], popdf[8], buf[8]; data/poppler-20.09.0/poppler/TextOutputDev.cc:855: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 buf[8]; data/poppler-20.09.0/poppler/TextOutputDev.cc:973: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(&newPool[minBaseIdx - newMinBaseIdx], pool, (maxBaseIdx - minBaseIdx + 1) * sizeof(TextWord *)); data/poppler-20.09.0/poppler/TextOutputDev.cc:1170: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 buf[8]; data/poppler-20.09.0/poppler/TextOutputDev.cc:4050: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 space[8], eol[16]; data/poppler-20.09.0/poppler/TextOutputDev.cc:4066: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 mbc[16]; data/poppler-20.09.0/poppler/TextOutputDev.cc:4400: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 space[8], eol[16]; data/poppler-20.09.0/poppler/TextOutputDev.cc:5062: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 space[8], eol[16], eop[8]; data/poppler-20.09.0/poppler/TextOutputDev.cc:5305: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 buf[8]; data/poppler-20.09.0/poppler/UTF.cc:799: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 buf[8]; // 8 is enough for mapping an unicode char to a string data/poppler-20.09.0/poppler/UnicodeMap.cc:48: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 code[maxExtCode]; data/poppler-20.09.0/poppler/UnicodeMap.cc:61: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 buf[256]; data/poppler-20.09.0/poppler/XRef.cc:827: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 buf[256]; data/poppler-20.09.0/poppler/XRef.cc:891:23: [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). num = atoi(p); data/poppler-20.09.0/poppler/XRef.cc:907:35: [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). gen = atoi(p); data/poppler-20.09.0/poppler/XRef.cc:1479: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 data[16]; data/poppler-20.09.0/poppler/XRef.h:236:14: [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. unsigned char fileKey[32]; // file decryption key data/poppler-20.09.0/qt5/src/ArthurOutputDev.cc:620: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(codeToGID, ((GfxCIDFont *)gfxFont)->getCIDToGID(), codeToGIDLen * sizeof(int)); data/poppler-20.09.0/qt5/src/ArthurOutputDev.cc:646:21: [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(codeToGID, ((GfxCIDFont *)gfxFont)->getCIDToGID(), codeToGIDLen * sizeof(int)); data/poppler-20.09.0/qt5/src/poppler-base-converter.cc:42: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). if (!iodev->open(QIODevice::WriteOnly)) { data/poppler-20.09.0/qt5/src/poppler-media.cc:89:14: [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. unsigned char data[BUFFER_MAX]; data/poppler-20.09.0/qt5/src/poppler-media.cc:92: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). buffer.open(QIODevice::WriteOnly); data/poppler-20.09.0/qt5/src/poppler-outline.cc:172:15: [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). data->open(); data/poppler-20.09.0/qt5/src/poppler-private.cc:87: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 buf[8]; data/poppler-20.09.0/qt5/src/poppler-private.cc:274: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). outlineItem->open(); data/poppler-20.09.0/qt5/src/poppler-qiodeviceoutstream.cc:50: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 buf[QIODeviceOutStreamBufSize]; data/poppler-20.09.0/qt5/tests/check_actualtext.cpp:44:18: [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). QVERIFY(file.open(QIODevice::ReadOnly)); data/poppler-20.09.0/qt5/tests/check_annotations.cpp:57: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). QVERIFY(tempFile.open()); data/poppler-20.09.0/qt5/tests/check_annotations.cpp:152: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). QVERIFY(tempFile.open()); data/poppler-20.09.0/qt5/tests/check_attachments.cpp:51:18: [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). QVERIFY(file.open(QIODevice::ReadOnly)); data/poppler-20.09.0/qt5/tests/check_attachments.cpp:64: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). QVERIFY(file2.open(QIODevice::ReadOnly)); data/poppler-20.09.0/qt5/tests/check_utf_conversion.cpp:79: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 utf8Buf[1000]; data/poppler-20.09.0/qt5/tests/stress-threads-qt5.cpp:239:26: [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). const int duration = atoi(argv[1]); data/poppler-20.09.0/qt5/tests/stress-threads-qt5.cpp:240:28: [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). const int sillyCount = atoi(argv[2]); data/poppler-20.09.0/qt5/tests/stress-threads-qt5.cpp:241:28: [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). const int crazyCount = atoi(argv[3]); data/poppler-20.09.0/qt6/src/ArthurOutputDev.cc:620: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(codeToGID, ((GfxCIDFont *)gfxFont)->getCIDToGID(), codeToGIDLen * sizeof(int)); data/poppler-20.09.0/qt6/src/ArthurOutputDev.cc:646:21: [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(codeToGID, ((GfxCIDFont *)gfxFont)->getCIDToGID(), codeToGIDLen * sizeof(int)); data/poppler-20.09.0/qt6/src/poppler-base-converter.cc:42: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). if (!iodev->open(QIODevice::WriteOnly)) { data/poppler-20.09.0/qt6/src/poppler-media.cc:89:14: [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. unsigned char data[BUFFER_MAX]; data/poppler-20.09.0/qt6/src/poppler-media.cc:92: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). buffer.open(QIODevice::WriteOnly); data/poppler-20.09.0/qt6/src/poppler-outline.cc:172:15: [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). data->open(); data/poppler-20.09.0/qt6/src/poppler-private.cc:87: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 buf[8]; data/poppler-20.09.0/qt6/src/poppler-qiodeviceoutstream.cc:50: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 buf[QIODeviceOutStreamBufSize]; data/poppler-20.09.0/qt6/tests/check_actualtext.cpp:44:18: [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). QVERIFY(file.open(QIODevice::ReadOnly)); data/poppler-20.09.0/qt6/tests/check_annotations.cpp:57: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). QVERIFY(tempFile.open()); data/poppler-20.09.0/qt6/tests/check_annotations.cpp:152: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). QVERIFY(tempFile.open()); data/poppler-20.09.0/qt6/tests/check_attachments.cpp:51:18: [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). QVERIFY(file.open(QIODevice::ReadOnly)); data/poppler-20.09.0/qt6/tests/check_attachments.cpp:64: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). QVERIFY(file2.open(QIODevice::ReadOnly)); data/poppler-20.09.0/qt6/tests/check_utf_conversion.cpp:77: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 utf8Buf[1000]; data/poppler-20.09.0/qt6/tests/stress-threads-qt6.cpp:242:26: [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). const int duration = atoi(argv[1]); data/poppler-20.09.0/qt6/tests/stress-threads-qt6.cpp:243:28: [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). const int sillyCount = atoi(argv[2]); data/poppler-20.09.0/qt6/tests/stress-threads-qt6.cpp:244:28: [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). const int crazyCount = atoi(argv[3]); data/poppler-20.09.0/splash/Splash.cc:297:14: [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. unsigned char cResult[SPOT_NCOMPS + 4]; data/poppler-20.09.0/splash/Splash.cc:1148:14: [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. unsigned char cResult[SPOT_NCOMPS + 4]; data/poppler-20.09.0/splash/Splash.cc:1584: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(state->matrix, matrix, 6 * sizeof(SplashCoord)); data/poppler-20.09.0/splash/Splash.cc:4709: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(lineBuf1, lineBuf2, scaledWidth * nComps); data/poppler-20.09.0/splash/Splash.cc:4711: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(alphaLineBuf1, alphaLineBuf2, scaledWidth); data/poppler-20.09.0/splash/Splash.cc:4795: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(lineBuf, p0, w); data/poppler-20.09.0/splash/Splash.cc:4796: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(p0, p1, w); data/poppler-20.09.0/splash/Splash.cc:4797: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(p1, lineBuf, w); data/poppler-20.09.0/splash/Splash.cc:4801: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(lineBuf, p0, width); data/poppler-20.09.0/splash/Splash.cc:4802: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(p0, p1, width); data/poppler-20.09.0/splash/Splash.cc:4803: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(p1, lineBuf, width); data/poppler-20.09.0/splash/Splash.cc:5045:14: [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. unsigned char colorsp[SPOT_NCOMPS + 4], cp; data/poppler-20.09.0/splash/SplashBitmap.cc:143: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(dataDest, dataSource, amount); data/poppler-20.09.0/splash/SplashBitmap.cc:145: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(result->getAlphaPtr(), src->getAlphaPtr(), src->getWidth() * src->getHeight()); data/poppler-20.09.0/splash/SplashBitmap.cc:658:57: [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. unsigned char **row_pointers = new unsigned char *[height]; data/poppler-20.09.0/splash/SplashBitmap.cc:707:53: [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. unsigned char **row_pointers = new unsigned char *[height]; data/poppler-20.09.0/splash/SplashBitmap.cc:760:57: [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. unsigned char **row_pointers = new unsigned char *[height]; data/poppler-20.09.0/splash/SplashBitmap.cc:797:57: [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. unsigned char **row_pointers = new unsigned char *[height]; data/poppler-20.09.0/splash/SplashFTFont.cc:259: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(p, q, rowSize); data/poppler-20.09.0/splash/SplashFont.cc:199: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(p, bitmap2.data, size); data/poppler-20.09.0/splash/SplashPath.cc:62: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(pts, path->pts, length * sizeof(SplashPathPoint)); data/poppler-20.09.0/splash/SplashPath.cc:63: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(flags, path->flags, length * sizeof(unsigned char)); data/poppler-20.09.0/splash/SplashPath.cc:68: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(hints, path->hints, hintsLength * sizeof(SplashPathHint)); data/poppler-20.09.0/splash/SplashScreen.cc:376: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(mat, screen->mat, size * size * sizeof(unsigned char)); data/poppler-20.09.0/splash/SplashState.cc:153: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(matrix, state->matrix, 6 * sizeof(SplashCoord)); data/poppler-20.09.0/splash/SplashState.cc:171: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(lineDash, state->lineDash, lineDashLength * sizeof(SplashCoord)); data/poppler-20.09.0/splash/SplashState.cc:185: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(rgbTransferR, state->rgbTransferR, 256); data/poppler-20.09.0/splash/SplashState.cc:186: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(rgbTransferG, state->rgbTransferG, 256); data/poppler-20.09.0/splash/SplashState.cc:187: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(rgbTransferB, state->rgbTransferB, 256); data/poppler-20.09.0/splash/SplashState.cc:188: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(grayTransfer, state->grayTransfer, 256); data/poppler-20.09.0/splash/SplashState.cc:189: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(cmykTransferC, state->cmykTransferC, 256); data/poppler-20.09.0/splash/SplashState.cc:190: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(cmykTransferM, state->cmykTransferM, 256); data/poppler-20.09.0/splash/SplashState.cc:191: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(cmykTransferY, state->cmykTransferY, 256); data/poppler-20.09.0/splash/SplashState.cc:192: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(cmykTransferK, state->cmykTransferK, 256); data/poppler-20.09.0/splash/SplashState.cc:194: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(deviceNTransfer[cp], state->deviceNTransfer[cp], 256); data/poppler-20.09.0/splash/SplashState.cc:236: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(lineDash, lineDashA, lineDashLength * sizeof(SplashCoord)); data/poppler-20.09.0/splash/SplashState.cc:266: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(rgbTransferR, red, 256); data/poppler-20.09.0/splash/SplashState.cc:267: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(rgbTransferG, green, 256); data/poppler-20.09.0/splash/SplashState.cc:268: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(rgbTransferB, blue, 256); data/poppler-20.09.0/splash/SplashState.cc:269: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(grayTransfer, gray, 256); data/poppler-20.09.0/splash/SplashState.h:120:14: [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. unsigned char rgbTransferR[256], rgbTransferG[256], rgbTransferB[256]; data/poppler-20.09.0/splash/SplashState.h:121:14: [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. unsigned char grayTransfer[256]; data/poppler-20.09.0/splash/SplashState.h:122:14: [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. unsigned char cmykTransferC[256], cmykTransferM[256], cmykTransferY[256], cmykTransferK[256]; data/poppler-20.09.0/splash/SplashState.h:123:14: [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. unsigned char deviceNTransfer[SPOT_NCOMPS + 4][256]; data/poppler-20.09.0/splash/SplashTypes.h:88:18: [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. typedef unsigned char SplashColor[splashMaxColorComps]; data/poppler-20.09.0/splash/SplashXPath.cc:250: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(segs, xPath->segs, length * sizeof(SplashXPathSeg)); data/poppler-20.09.0/test/goostring-format-checker/goostring-format-checker.cc:256:24: [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). const int argNum = atoi(placeholderText.substr(0, delim).c_str()); data/poppler-20.09.0/test/pdf-fullrewrite.cc:21:8: [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. static char ownerPassword[33] = "\001"; data/poppler-20.09.0/test/pdf-fullrewrite.cc:22:8: [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. static char userPassword[33] = "\001"; data/poppler-20.09.0/test/perf-test.cc:247: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(tmp, str1, str1_len); data/poppler-20.09.0/test/perf-test.cc: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(tmp, str2, str2_len); data/poppler-20.09.0/test/perf-test.cc:255: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(tmp, str3, str3_len); data/poppler-20.09.0/test/perf-test.cc:259: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(tmp, str4, str1_len); data/poppler-20.09.0/test/perf-test.cc:342: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(dst, src, src_size); data/poppler-20.09.0/test/perf-test.cc:345: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(dst, src, dst_size); data/poppler-20.09.0/test/perf-test.cc:464: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 path[MAX_FILENAME_SIZE]; data/poppler-20.09.0/test/perf-test.cc:465: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 dirpath[MAX_FILENAME_SIZE]; /* current dir path */ data/poppler-20.09.0/test/perf-test.cc:466: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 pattern[MAX_FILENAME_SIZE]; /* search pattern */ data/poppler-20.09.0/test/perf-test.cc:743: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 buf[4096], *p = buf; data/poppler-20.09.0/test/perf-test.cc:800: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 buf[4096], *p = buf; data/poppler-20.09.0/test/perf-test.cc:971: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 numBuf[16]; data/poppler-20.09.0/test/perf-test.cc:996:15: [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). *intOut = atoi(numBuf); data/poppler-20.09.0/test/perf-test.cc:1069:27: [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). gPageNo = atoi(argv[i]); data/poppler-20.09.0/test/perf-test.cc:1180: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 filename[MAX_FILENAME_SIZE]; data/poppler-20.09.0/test/perf-test.cc:1246:19: [2] (misc) fopen: 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). outFile = fopen(gOutFileName, "wb"); data/poppler-20.09.0/utils/HtmlFonts.cc:228: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 buf[8]; data/poppler-20.09.0/utils/HtmlOutputDev.cc:814:24: [2] (misc) fopen: 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). pageFile = fopen(pageFileName.c_str(), "w"); data/poppler-20.09.0/utils/HtmlOutputDev.cc:817:24: [2] (misc) fopen: 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). pageFile = fopen(pageFileName.c_str(), "a"); data/poppler-20.09.0/utils/HtmlOutputDev.cc:916:19: [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. const char *styles[4] = { "", " class=\"xflip\"", " class=\"yflip\"", " class=\"xyflip\"" }; data/poppler-20.09.0/utils/HtmlOutputDev.cc:1027:28: [2] (misc) fopen: 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). if (!(fContentsFrame = fopen(fName->c_str(), "w"))) { data/poppler-20.09.0/utils/HtmlOutputDev.cc:1100:36: [2] (misc) fopen: 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). if (!(fContentsFrame = fopen(left->c_str(), "w"))) { data/poppler-20.09.0/utils/HtmlOutputDev.cc:1118:26: [2] (misc) fopen: 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). if (!(page = fopen(right->c_str(), "w"))) { data/poppler-20.09.0/utils/HtmlOutputDev.cc:1140:26: [2] (misc) fopen: 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). if (!(page = fopen(right->c_str(), "w"))) { data/poppler-20.09.0/utils/HtmlOutputDev.cc:1202:15: [2] (misc) fopen: 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). if((tin=fopen(getFileNameFromPath(fname->c_str(),fname->getLength()),"w"))==NULL){ data/poppler-20.09.0/utils/HtmlOutputDev.cc:1291: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). f1 = dataUrls ? ims.open("wb") : fopen(fName->c_str(), "wb"); data/poppler-20.09.0/utils/HtmlOutputDev.cc:1291:38: [2] (misc) fopen: 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). f1 = dataUrls ? ims.open("wb") : fopen(fName->c_str(), "wb"); data/poppler-20.09.0/utils/HtmlOutputDev.cc:1328: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). f1 = dataUrls ? ims.open("wb") : fopen(fName->c_str(), "wb"); data/poppler-20.09.0/utils/HtmlOutputDev.cc:1328:38: [2] (misc) fopen: 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). f1 = dataUrls ? ims.open("wb") : fopen(fName->c_str(), "wb"); data/poppler-20.09.0/utils/HtmlOutputDev.cc:1398:22: [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. unsigned char zero[gfxColorMaxComps]; data/poppler-20.09.0/utils/HtmlOutputDev.cc:1646:22: [2] (misc) fopen: 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). output = fopen(str->c_str(), "w"); data/poppler-20.09.0/utils/HtmlOutputDev.cc:1729:15: [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). item->open(); data/poppler-20.09.0/utils/HtmlOutputDev.cc:1756:15: [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). item->open(); data/poppler-20.09.0/utils/ImageOutputDev.cc:101: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 buf[10]; data/poppler-20.09.0/utils/ImageOutputDev.cc:104:9: [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. sprintf(buf, "%4.2f", d); data/poppler-20.09.0/utils/ImageOutputDev.cc:108:9: [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. sprintf(buf, "%4.1f", d); data/poppler-20.09.0/utils/ImageOutputDev.cc:331:15: [2] (misc) fopen: 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). if (!(f = fopen(fileName, "wb"))) { data/poppler-20.09.0/utils/ImageOutputDev.cc:358:14: [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. unsigned char zero[gfxColorMaxComps]; data/poppler-20.09.0/utils/ImageOutputDev.cc:364:19: [2] (misc) fopen: 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). if (!(f = fopen(fileName, "wb"))) { data/poppler-20.09.0/utils/ImageOutputDev.cc:537:23: [2] (misc) fopen: 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). if (!(f = fopen(fileName, "wb"))) { data/poppler-20.09.0/utils/ImageOutputDev.cc:556:19: [2] (misc) fopen: 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). if (!(f = fopen(fileName, "wb"))) { data/poppler-20.09.0/utils/InMemoryFile.cc:29: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(&buf[0], &data[iohead], toRead); data/poppler-20.09.0/utils/InMemoryFile.cc:38: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(&data[iohead], buf, sz); data/poppler-20.09.0/utils/InMemoryFile.cc:62: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). FILE *InMemoryFile::open(const char *mode) data/poppler-20.09.0/utils/InMemoryFile.h:48:11: [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). FILE *open(const char *mode); data/poppler-20.09.0/utils/Win32Console.cc:27:8: [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. static char buf[BUF_SIZE]; data/poppler-20.09.0/utils/Win32Console.cc:28:8: [2] (buffer) wchar_t: 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. static wchar_t wbuf[BUF_SIZE]; data/poppler-20.09.0/utils/Win32Console.cc:100: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(buf + bufLen, ptr, n); data/poppler-20.09.0/utils/Win32Console.cc:120:23: [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. argList = new char *[numArgs]; data/poppler-20.09.0/utils/Win32Console.cc:121:30: [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. privateArgList = new char *[numArgs]; data/poppler-20.09.0/utils/parseargs.cc:136:32: [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). *(int *)arg->val = atoi(argv[i + 1]); data/poppler-20.09.0/utils/pdfattach.cc:77:50: [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). std::unique_ptr<GooFile> attachFile(GooFile::open(&attachFilePath)); data/poppler-20.09.0/utils/pdfdetach.cc:49:8: [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. static char saveFile[128] = ""; data/poppler-20.09.0/utils/pdfdetach.cc:51:8: [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. static char savePath[1024] = ""; data/poppler-20.09.0/utils/pdfdetach.cc:52:8: [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. static char textEncName[128] = ""; data/poppler-20.09.0/utils/pdfdetach.cc:53:8: [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. static char ownerPassword[33] = "\001"; data/poppler-20.09.0/utils/pdfdetach.cc:54:8: [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. static char userPassword[33] = "\001"; data/poppler-20.09.0/utils/pdfdetach.cc:79: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 uBuf[8]; data/poppler-20.09.0/utils/pdfdetach.cc:80: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 path[1024]; data/poppler-20.09.0/utils/pdfdetach.cc:216: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(path, savePath, n); data/poppler-20.09.0/utils/pdfdetach.cc:245: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(p, uBuf, n); data/poppler-20.09.0/utils/pdfdetach.cc:307: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(p, uBuf, n); data/poppler-20.09.0/utils/pdffonts.cc:52:8: [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. static char ownerPassword[33] = "\001"; data/poppler-20.09.0/utils/pdffonts.cc:53:8: [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. static char userPassword[33] = "\001"; data/poppler-20.09.0/utils/pdfimages.cc:66:8: [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. static char ownerPassword[33] = "\001"; data/poppler-20.09.0/utils/pdfimages.cc:67:8: [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. static char userPassword[33] = "\001"; data/poppler-20.09.0/utils/pdfinfo.cc:79:8: [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. static char textEncName[128] = ""; data/poppler-20.09.0/utils/pdfinfo.cc:80:8: [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. static char ownerPassword[33] = "\001"; data/poppler-20.09.0/utils/pdfinfo.cc:81:8: [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. static char userPassword[33] = "\001"; data/poppler-20.09.0/utils/pdfinfo.cc:114: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 buf[8]; data/poppler-20.09.0/utils/pdfinfo.cc:138: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 buf[256]; data/poppler-20.09.0/utils/pdfinfo.cc:393:21: [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 buf[8]; data/poppler-20.09.0/utils/pdfinfo.cc:645: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 buf[256]; data/poppler-20.09.0/utils/pdfinfo.cc:771:17: [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. sprintf(buf, "Page %4d MediaBox: ", pg); data/poppler-20.09.0/utils/pdfinfo.cc:773:17: [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. sprintf(buf, "Page %4d CropBox: ", pg); data/poppler-20.09.0/utils/pdfinfo.cc:775:17: [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. sprintf(buf, "Page %4d BleedBox: ", pg); data/poppler-20.09.0/utils/pdfinfo.cc:777:17: [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. sprintf(buf, "Page %4d TrimBox: ", pg); data/poppler-20.09.0/utils/pdfinfo.cc:779:17: [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. sprintf(buf, "Page %4d ArtBox: ", pg); data/poppler-20.09.0/utils/pdfinfo.cc:934:13: [2] (misc) fopen: 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). f = fopen(fileName->c_str(), "rb"); data/poppler-20.09.0/utils/pdfseparate.cc:48: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 pathName[4096]; data/poppler-20.09.0/utils/pdfseparate.cc:83: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 pattern[6]; data/poppler-20.09.0/utils/pdfseparate.cc:85:13: [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. sprintf(pattern, "%%0%dd", i); data/poppler-20.09.0/utils/pdftocairo.cc:117:8: [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. static char paperSize[15] = ""; data/poppler-20.09.0/utils/pdftocairo.cc:125:8: [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. static char tiffCompressionStr[16] = ""; data/poppler-20.09.0/utils/pdftocairo.cc:127:8: [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. static char ownerPassword[33] = ""; data/poppler-20.09.0/utils/pdftocairo.cc:128:8: [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. static char userPassword[33] = ""; data/poppler-20.09.0/utils/pdftocairo.cc:300:27: [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). jpegQuality = atoi(value.c_str()); data/poppler-20.09.0/utils/pdftocairo.cc:391:16: [2] (misc) fopen: 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). file = fopen(filename->c_str(), "wb"); data/poppler-20.09.0/utils/pdftocairo.cc:559:31: [2] (misc) fopen: 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). output_file = fopen(outputFileName->c_str(), "wb"); data/poppler-20.09.0/utils/pdftocairo.cc:751: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 buf[10]; data/poppler-20.09.0/utils/pdftocairo.cc:1035:22: [2] (misc) fopen: 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). FILE *file = fopen(icc.c_str(), "rb"); data/poppler-20.09.0/utils/pdftohtml.cc:86:8: [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. static char extension[5] = "png"; data/poppler-20.09.0/utils/pdftohtml.cc:99:8: [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. static char ownerPassword[33] = ""; data/poppler-20.09.0/utils/pdftohtml.cc:100:8: [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. static char userPassword[33] = ""; data/poppler-20.09.0/utils/pdftohtml.cc:106:8: [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. static char textEncName[128] = ""; data/poppler-20.09.0/utils/pdftohtml.cc:370:38: [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). auto f1 = dataUrls ? imf.open("wb") : fopen(imgFileName->c_str(), "wb"); data/poppler-20.09.0/utils/pdftohtml.cc:370:51: [2] (misc) fopen: 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). auto f1 = dataUrls ? imf.open("wb") : fopen(imgFileName->c_str(), "wb"); data/poppler-20.09.0/utils/pdftohtml.cc:469: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 buf[256]; data/poppler-20.09.0/utils/pdftoppm.cc:106:8: [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. static char sep[2] = "-"; data/poppler-20.09.0/utils/pdftoppm.cc:117:8: [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. static char enableFreeTypeStr[16] = ""; data/poppler-20.09.0/utils/pdftoppm.cc:119:8: [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. static char antialiasStr[16] = ""; data/poppler-20.09.0/utils/pdftoppm.cc:120:8: [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. static char vectorAntialiasStr[16] = ""; data/poppler-20.09.0/utils/pdftoppm.cc:123:8: [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. static char ownerPassword[33] = ""; data/poppler-20.09.0/utils/pdftoppm.cc:124:8: [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. static char userPassword[33] = ""; data/poppler-20.09.0/utils/pdftoppm.cc:125:8: [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. static char TiffCompressionStr[16] = ""; data/poppler-20.09.0/utils/pdftoppm.cc:126:8: [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. static char thinLineModeStr[8] = ""; data/poppler-20.09.0/utils/pdftoppm.cc:233:27: [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). jpegQuality = atoi(value.c_str()); data/poppler-20.09.0/utils/pdftops.cc:103:8: [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. static char rasterAntialiasStr[16] = ""; data/poppler-20.09.0/utils/pdftops.cc:104:8: [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. static char forceRasterizeStr[16] = ""; data/poppler-20.09.0/utils/pdftops.cc:106:8: [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. static char paperSize[15] = ""; data/poppler-20.09.0/utils/pdftops.cc:114:8: [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. static char ownerPassword[33] = "\001"; data/poppler-20.09.0/utils/pdftops.cc:115:8: [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. static char userPassword[33] = "\001"; data/poppler-20.09.0/utils/pdftotext.cc:89:8: [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. static char textEncName[128] = ""; data/poppler-20.09.0/utils/pdftotext.cc:90:8: [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. static char textEOLStr[16] = ""; data/poppler-20.09.0/utils/pdftotext.cc:92:8: [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. static char ownerPassword[33] = "\001"; data/poppler-20.09.0/utils/pdftotext.cc:93:8: [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. static char userPassword[33] = "\001"; data/poppler-20.09.0/utils/pdftotext.cc:301:23: [2] (misc) fopen: 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). if (!(f = fopen(textFileName->c_str(), "wb"))) { data/poppler-20.09.0/utils/pdftotext.cc:383:23: [2] (misc) fopen: 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). if (!(f = fopen(textFileName->c_str(), "ab"))) { data/poppler-20.09.0/utils/pdftotext.cc:417: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 buf[9]; data/poppler-20.09.0/utils/pdfunite.cc:185:15: [2] (misc) fopen: 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). if (!(f = fopen(fileName, "wb"))) { data/poppler-20.09.0/cpp/poppler-global.cpp:266:20: [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). len = std::strlen(str); data/poppler-20.09.0/fofi/FoFiIdentifier.cc:156:14: [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). n = (int)strlen(s); data/poppler-20.09.0/fofi/FoFiIdentifier.cc:261:14: [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). n = (int)strlen(s); data/poppler-20.09.0/fofi/FoFiIdentifier.cc:379:24: [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 int n = (int)strlen(s); data/poppler-20.09.0/fofi/FoFiTrueType.cc:730:41: [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). (*outputFunc)(outputStream, psName, strlen(psName)); data/poppler-20.09.0/fofi/FoFiTrueType.cc:784:41: [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). (*outputFunc)(outputStream, psName, strlen(psName)); data/poppler-20.09.0/fofi/FoFiTrueType.cc:949:45: [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). (*outputFunc)(outputStream, psName, strlen(psName)); data/poppler-20.09.0/fofi/FoFiTrueType.cc:960:45: [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). (*outputFunc)(outputStream, psName, strlen(psName)); data/poppler-20.09.0/fofi/FoFiTrueType.cc:983:41: [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). (*outputFunc)(outputStream, psName, strlen(psName)); data/poppler-20.09.0/fofi/FoFiTrueType.cc:998:45: [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). (*outputFunc)(outputStream, psName, strlen(psName)); data/poppler-20.09.0/fofi/FoFiTrueType.cc:1038:47: [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). (*outputFunc)(outputStream, name, strlen(name)); data/poppler-20.09.0/fofi/FoFiTrueType.cc:1089:51: [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). (*outputFunc)(outputStream, name, strlen(name)); data/poppler-20.09.0/fofi/FoFiTrueType.cc:1679:13: [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). int n = strlen(tagName); data/poppler-20.09.0/fofi/FoFiType1.cc:139: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). (*outputFunc)(outputStream, buf, strlen(buf)); data/poppler-20.09.0/fofi/FoFiType1.cc:224:13: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(buf, line, lineLen); data/poppler-20.09.0/fofi/FoFiType1.cc:262:21: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(buf, line, n); data/poppler-20.09.0/fofi/FoFiType1.cc:331:13: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(buf, line + 11, bufLen); data/poppler-20.09.0/fofi/FoFiType1C.cc:202:21: [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). psNameLen = strlen(psName); data/poppler-20.09.0/fofi/FoFiType1C.cc:214:43: [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). (*outputFunc)(outputStream, buf2, strlen(buf2)); data/poppler-20.09.0/fofi/FoFiType1C.cc:554:41: [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). (*outputFunc)(outputStream, psName, strlen(psName)); data/poppler-20.09.0/fofi/FoFiType1C.cc:563:47: [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). (*outputFunc)(outputStream, buf2, strlen(buf2)); data/poppler-20.09.0/fofi/FoFiType1C.cc:570:47: [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). (*outputFunc)(outputStream, buf2, strlen(buf2)); data/poppler-20.09.0/fofi/FoFiType1C.cc:856:49: [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). (*outputFunc)(outputStream, psName, strlen(psName)); data/poppler-20.09.0/fofi/FoFiType1C.cc:1066:41: [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). (*outputFunc)(outputStream, psName, strlen(psName)); data/poppler-20.09.0/fofi/FoFiType1C.cc:1088:45: [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). (*outputFunc)(outputStream, psName, strlen(psName)); data/poppler-20.09.0/fofi/FoFiType1C.cc:2725:13: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(buf, (char *)&file[val.pos], n); data/poppler-20.09.0/glib/demo/forms.c:105:56: [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). gtk_text_buffer_insert_at_cursor(buffer, item, strlen(item)); data/poppler-20.09.0/glib/demo/forms.c:106:56: [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). gtk_text_buffer_insert_at_cursor(buffer, "\n", strlen("\n")); data/poppler-20.09.0/glib/demo/text.c:137:54: [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). gtk_text_buffer_set_text(demo->buffer, text, strlen(text)); data/poppler-20.09.0/glib/poppler-document.cc:759:11: [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). len = strlen(name); data/poppler-20.09.0/glib/poppler-document.cc:871:90: [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). key = poppler_named_dest_from_bytestring(reinterpret_cast<const guint8 *>(name), strlen(name)); data/poppler-20.09.0/glib/poppler-input-stream.cc:59:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). Goffset PopplerInputStream::read(char *buffer, Goffset count) data/poppler-20.09.0/glib/poppler-input-stream.h:40:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). Goffset read(char *buffer, Goffset count) override; data/poppler-20.09.0/glib/tests/check_bb.c:15:5: [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. int equal(double a, double b, double precision) data/poppler-20.09.0/glib/tests/check_bb.c:87:14: [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. if (!equal(bb.x1, correct.x1, precision) || !equal(bb.x2, correct.x2, precision) || !equal(bb.y1, correct.y1, precision) || !equal(bb.x2, correct.x2, precision)) { data/poppler-20.09.0/glib/tests/check_bb.c:87: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. if (!equal(bb.x1, correct.x1, precision) || !equal(bb.x2, correct.x2, precision) || !equal(bb.y1, correct.y1, precision) || !equal(bb.x2, correct.x2, precision)) { data/poppler-20.09.0/glib/tests/check_bb.c:87:94: [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. if (!equal(bb.x1, correct.x1, precision) || !equal(bb.x2, correct.x2, precision) || !equal(bb.y1, correct.y1, precision) || !equal(bb.x2, correct.x2, precision)) { data/poppler-20.09.0/glib/tests/check_bb.c:87:134: [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. if (!equal(bb.x1, correct.x1, precision) || !equal(bb.x2, correct.x2, precision) || !equal(bb.y1, correct.y1, precision) || !equal(bb.x2, correct.x2, precision)) { data/poppler-20.09.0/glib/tests/pdfdrawbb.c:27:22: [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). outfile = malloc(strlen(infile) + strlen(suffix) + 10); data/poppler-20.09.0/glib/tests/pdfdrawbb.c:27:39: [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). outfile = malloc(strlen(infile) + strlen(suffix) + 10); data/poppler-20.09.0/glib/tests/pdfdrawbb.c:35:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat(outfile, "-"); data/poppler-20.09.0/goo/GooString.cc:218:57: [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 (!strncmp(p0, formatStrings[ft], strlen(formatStrings[ft]))) { data/poppler-20.09.0/goo/GooString.cc:225:23: [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). p0 += strlen(formatStrings[ft]); data/poppler-20.09.0/goo/GooString.cc:417:27: [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). len = strlen(str); data/poppler-20.09.0/goo/GooString.cc:604:33: [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 auto prefixLen = std::strlen(prefix); data/poppler-20.09.0/goo/GooString.cc:615:33: [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 auto suffixLen = std::strlen(suffix); data/poppler-20.09.0/goo/gfile.cc:260:18: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((c = fgetc(f)) == EOF) { data/poppler-20.09.0/goo/gfile.cc:268:17: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = fgetc(f); data/poppler-20.09.0/goo/gfile.cc:338:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int GooFile::read(char *buf, int n, Goffset offset) const data/poppler-20.09.0/goo/gfile.cc:385:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int GooFile::read(char *buf, int n, Goffset offset) const data/poppler-20.09.0/goo/gfile.h:59:27: [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). # define NAMLEN(d) strlen((d)->d_name) data/poppler-20.09.0/goo/gfile.h:120:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int read(char *buf, int n, Goffset offset) const; data/poppler-20.09.0/goo/gmem.h:182:48: [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). char *r = static_cast<char *>(gmalloc(std::strlen(s) + 1, false)); data/poppler-20.09.0/goo/gmem.h:191:17: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). return std::strncpy(r, s, n); data/poppler-20.09.0/goo/gstrtod.cc:53: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). decimal_point_len = strlen(decimal_point); data/poppler-20.09.0/poppler/Annot.cc:1599:30: [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 (fontName.isName() && strlen(fontName.getName()) > 0) data/poppler-20.09.0/poppler/BuiltinFont.h:43:51: [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 struct BuiltinFontWidth *bfw = f(n, strlen(n)); data/poppler-20.09.0/poppler/CMap.cc:58:12: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return fgetc((FILE *)data); data/poppler-20.09.0/poppler/CachedFile.cc:150:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t CachedFile::read(void *ptr, size_t unitsize, size_t count) data/poppler-20.09.0/poppler/CachedFile.h:55:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read(void *ptr, size_t unitsize, size_t count); data/poppler-20.09.0/poppler/CharCodeToUnicode.cc:80:12: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return fgetc((FILE *)data); data/poppler-20.09.0/poppler/CharCodeToUnicode.cc:201:74: [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 (!(tok = strtok_r(buf, " \t\r\n", &tokptr)) || !parseHex(tok, strlen(tok), &u0)) { data/poppler-20.09.0/poppler/CharCodeToUnicode.cc:211:32: [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 (!parseHex(tok, strlen(tok), &uBuf[n])) { data/poppler-20.09.0/poppler/DateInfo.cc:37: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(dateString) < 2) data/poppler-20.09.0/poppler/DateInfo.cc:55:29: [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 (*year < 1930 && strlen(dateString) > 14) { data/poppler-20.09.0/poppler/GfxFont.cc:1256:22: [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(charName) == 3 && isalpha(charName[0]) && isxdigit(charName[1]) && isxdigit(charName[2]) data/poppler-20.09.0/poppler/GfxFont.cc:1258: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). || (strlen(charName) == 2 && isxdigit(charName[0]) && isxdigit(charName[1]) && data/poppler-20.09.0/poppler/GfxFont.cc:1474:22: [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). unsigned int n = strlen(charName); data/poppler-20.09.0/poppler/GfxFont.cc:2453: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). h->hash(p, (int)strlen(p)); data/poppler-20.09.0/poppler/GfxFont.cc:2473:29: [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). h->hash(p, (int)strlen(p)); data/poppler-20.09.0/poppler/GfxState.h:1591:51: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). void setRenderingIntent(const char *intent) { strncpy(renderingIntent, intent, 31); } data/poppler-20.09.0/poppler/GlobalParams.cc:444:22: [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). size_t bufSize = strlen(dataRoot) + strlen("/nameToUnicode") + 1; data/poppler-20.09.0/poppler/GlobalParams.cc:444:41: [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). size_t bufSize = strlen(dataRoot) + strlen("/nameToUnicode") + 1; data/poppler-20.09.0/poppler/GlobalParams.cc:713:21: [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 int len = strlen(fontName); data/poppler-20.09.0/poppler/GlobalParamsWin.cc:201:9: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat(winFontDir, FONTS_SUBDIR, cbWinFontDirLen); data/poppler-20.09.0/poppler/GlobalParamsWin.cc:245:21: [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). n = strlen(data); data/poppler-20.09.0/poppler/GlobalParamsWin.cc:261:39: [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). p1 = p0 + strlen(p0); data/poppler-20.09.0/poppler/GlobalParamsWin.cc:286: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). n = strlen(name); data/poppler-20.09.0/poppler/GlobalParamsWin.cc:341:28: [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 (!strcasecmp(path + strlen(path) - 4, ".ttc")) { data/poppler-20.09.0/poppler/GlobalParamsWin.cc:352:20: [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). int suffLenA = strlen(suffixA); data/poppler-20.09.0/poppler/GlobalParamsWin.cc:353:20: [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). int suffLenB = strlen(suffixB); data/poppler-20.09.0/poppler/GlobalParamsWin.cc:455:13: [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). int n = strlen(origName); data/poppler-20.09.0/poppler/PSOutputDev.cc:1505:32: [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). for (size_t i = 0; i < strlen(sanitizedTitle); ++i) { data/poppler-20.09.0/poppler/PSOutputDev.cc:2222:9: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = fgetc(fontFile); data/poppler-20.09.0/poppler/PSOutputDev.cc:2227:13: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fgetc(fontFile); // skip start of segment byte (0x80) data/poppler-20.09.0/poppler/PSOutputDev.cc:2228:27: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int segType = fgetc(fontFile); data/poppler-20.09.0/poppler/PSOutputDev.cc:2229:27: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). long segLen = fgetc(fontFile) | (fgetc(fontFile) << 8) | (fgetc(fontFile) << 16) | (fgetc(fontFile) << 24); data/poppler-20.09.0/poppler/PSOutputDev.cc:2229:46: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). long segLen = fgetc(fontFile) | (fgetc(fontFile) << 8) | (fgetc(fontFile) << 16) | (fgetc(fontFile) << 24); data/poppler-20.09.0/poppler/PSOutputDev.cc:2229:71: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). long segLen = fgetc(fontFile) | (fgetc(fontFile) << 8) | (fgetc(fontFile) << 16) | (fgetc(fontFile) << 24); data/poppler-20.09.0/poppler/PSOutputDev.cc:2229:97: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). long segLen = fgetc(fontFile) | (fgetc(fontFile) << 8) | (fgetc(fontFile) << 16) | (fgetc(fontFile) << 24); data/poppler-20.09.0/poppler/PSOutputDev.cc:2236:25: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = fgetc(fontFile); data/poppler-20.09.0/poppler/PSOutputDev.cc:2244:25: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = fgetc(fontFile); data/poppler-20.09.0/poppler/PSOutputDev.cc:2259:21: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while ((c = fgetc(fontFile)) != EOF) data/poppler-20.09.0/poppler/PSOutputDev.cc:7192:40: [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). (*outputFunc)(outputStream, s, strlen(s)); data/poppler-20.09.0/poppler/StdinCachedFile.cc:25:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read, size = 0; data/poppler-20.09.0/poppler/StdinCachedFile.cc:36:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size += read; data/poppler-20.09.0/poppler/Stream.cc:483:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). n = read(buf, n); data/poppler-20.09.0/poppler/Stream.cc:923:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). n = file->read(buf, n, offset); data/poppler-20.09.0/poppler/Stream.cc:1024:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). n = cc->read(buf, 1, n); data/poppler-20.09.0/poppler/Stream.h:382:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). virtual Goffset read(char *buf, Goffset size) = 0; data/poppler-20.09.0/poppler/TextOutputDev.cc:2581:34: [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). int nameLen = name ? strlen(name) : 0; data/poppler-20.09.0/poppler/UnicodeMap.cc:84:22: [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). nBytes = strlen(tok3) / 2; data/poppler-20.09.0/poppler/XRef.cc:1148:21: [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(cmd) > 3 && cmd[0] == 'o' && cmd[1] == 'b' && cmd[2] == 'j') { data/poppler-20.09.0/qt5/src/poppler-qiodeviceinstream-private.h:41:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). Goffset read(char *buffer, Goffset count) override; data/poppler-20.09.0/qt5/src/poppler-qiodeviceinstream.cc:54:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). Goffset QIODeviceInStream::read(char *buffer, Goffset count) data/poppler-20.09.0/qt5/src/poppler-qiodeviceinstream.cc:56:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return m_device->read(buffer, count); data/poppler-20.09.0/qt5/tests/check_lexer.cpp:18:48: [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). MemStream *stream = new MemStream(data, 0, strlen(data), Object(objNull)); data/poppler-20.09.0/qt5/tests/check_utf_conversion.cpp:105:24: [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). QCOMPARE(len, (int)strlen(str)); data/poppler-20.09.0/qt5/tests/check_utf_conversion.cpp:110:24: [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). QCOMPARE(len, (int)strlen(str)); data/poppler-20.09.0/qt5/tests/check_utf_conversion.cpp:151:28: [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). QCOMPARE(out_len, (int)strlen(expected_ascii)); data/poppler-20.09.0/qt6/src/poppler-qiodeviceinstream-private.h:41:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). Goffset read(char *buffer, Goffset count) override; data/poppler-20.09.0/qt6/src/poppler-qiodeviceinstream.cc:54:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). Goffset QIODeviceInStream::read(char *buffer, Goffset count) data/poppler-20.09.0/qt6/src/poppler-qiodeviceinstream.cc:56:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return m_device->read(buffer, count); data/poppler-20.09.0/qt6/tests/check_lexer.cpp:18:48: [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). MemStream *stream = new MemStream(data, 0, strlen(data), Object(objNull)); data/poppler-20.09.0/qt6/tests/check_utf_conversion.cpp:103:24: [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). QCOMPARE(len, (int)strlen(str)); data/poppler-20.09.0/qt6/tests/check_utf_conversion.cpp:108:24: [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). QCOMPARE(len, (int)strlen(str)); data/poppler-20.09.0/qt6/tests/check_utf_conversion.cpp:149:28: [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). QCOMPARE(out_len, (int)strlen(expected_ascii)); data/poppler-20.09.0/test/perf-test.cc:233:20: [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). str1_len = strlen(str1); data/poppler-20.09.0/test/perf-test.cc:235:20: [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). str2_len = strlen(str2); data/poppler-20.09.0/test/perf-test.cc:237:20: [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). str3_len = strlen(str3); data/poppler-20.09.0/test/perf-test.cc:239:20: [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). str4_len = strlen(str4); data/poppler-20.09.0/test/perf-test.cc:299:15: [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). txt_len = strlen(txt); data/poppler-20.09.0/test/perf-test.cc:300:15: [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). end_len = strlen(end); data/poppler-20.09.0/test/perf-test.cc:340:23: [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). size_t src_size = strlen(src) + 1; data/poppler-20.09.0/test/perf-test.cc:355:22: [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). size_t dst_len = strlen(dst); data/poppler-20.09.0/test/perf-test.cc:512:20: [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). int path_len = strlen(path); data/poppler-20.09.0/test/perf-test.cc:554:15: [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). int len = strlen(path); data/poppler-20.09.0/test/perf-test.cc:1023:54: [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 (!ParseInteger(posOfX + 1, resolutionString + strlen(resolutionString) - 1, resolutionYOut)) data/poppler-20.09.0/utils/HtmlLinks.cc:105: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). int l = strlen(replace); data/poppler-20.09.0/utils/ImageOutputDev.cc:58:36: [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). fileName = (char *)gmalloc(strlen(fileRoot) + 45); data/poppler-20.09.0/utils/parseargs.cc:71:19: [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 ((w1 = strlen(arg->arg)) > w) data/poppler-20.09.0/utils/parseargs.cc:82:22: [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). w1 = 9 + w - strlen(arg->arg); data/poppler-20.09.0/utils/parseargs.cc:154:13: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy((char *)arg->val, argv[i + 1], arg->size - 1); data/poppler-20.09.0/utils/pdfdetach.cc:100:19: [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). hasSaveFile = strlen(saveFile) > 0; data/poppler-20.09.0/utils/pdfdetach.cc:212:21: [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). n = strlen(savePath); data/poppler-20.09.0/utils/pdftocairo-win32.cc:120:14: [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. if (!equal) { data/poppler-20.09.0/utils/pdftocairo.cc:286:14: [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. if (!equal) { data/poppler-20.09.0/utils/pdftocairo.cc:963: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(tiffCompressionStr) > 0 && !tiff) { data/poppler-20.09.0/utils/pdftoppm.cc:219:14: [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. if (!equal) { data/poppler-20.09.0/utils/pdftoppm.cc:610:36: [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). ppmFile = new char[strlen(ppmRoot) + 1 + strlen(ext) + 1]; data/poppler-20.09.0/utils/pdftoppm.cc:610:58: [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). ppmFile = new char[strlen(ppmRoot) + 1 + strlen(ext) + 1]; data/poppler-20.09.0/utils/pdftoppm.cc:613:36: [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). ppmFile = new char[strlen(ppmRoot) + 1 + pg_num_len + 1 + strlen(ext) + 1]; data/poppler-20.09.0/utils/pdftoppm.cc:613:75: [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). ppmFile = new char[strlen(ppmRoot) + 1 + pg_num_len + 1 + strlen(ext) + 1]; ANALYSIS SUMMARY: Hits = 747 Lines analyzed = 253341 in approximately 6.25 seconds (40555 lines/second) Physical Source Lines of Code (SLOC) = 190690 Hits@level = [0] 654 [1] 143 [2] 569 [3] 3 [4] 32 [5] 0 Hits@level+ = [0+] 1401 [1+] 747 [2+] 604 [3+] 35 [4+] 32 [5+] 0 Hits/KSLOC@level+ = [0+] 7.347 [1+] 3.91735 [2+] 3.16744 [3+] 0.183544 [4+] 0.167812 [5+] 0 Dot directories skipped = 2 (--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.