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/libmwaw-0.3.17/src/tools/file/file_internal.h Examining data/libmwaw-0.3.17/src/tools/file/input.h Examining data/libmwaw-0.3.17/src/tools/file/input.cpp Examining data/libmwaw-0.3.17/src/tools/file/xattr.cpp Examining data/libmwaw-0.3.17/src/tools/file/file.cpp Examining data/libmwaw-0.3.17/src/tools/file/rsrc.cpp Examining data/libmwaw-0.3.17/src/tools/file/xattr.h Examining data/libmwaw-0.3.17/src/tools/file/ole.cpp Examining data/libmwaw-0.3.17/src/tools/file/rsrc.h Examining data/libmwaw-0.3.17/src/tools/file/ole.h Examining data/libmwaw-0.3.17/src/tools/zip/input.h Examining data/libmwaw-0.3.17/src/tools/zip/input.cpp Examining data/libmwaw-0.3.17/src/tools/zip/mwawZip.cpp Examining data/libmwaw-0.3.17/src/tools/zip/xattr.cpp Examining data/libmwaw-0.3.17/src/tools/zip/zip.h Examining data/libmwaw-0.3.17/src/tools/zip/xattr.h Examining data/libmwaw-0.3.17/src/tools/zip/zip.cpp Examining data/libmwaw-0.3.17/src/tools/zip/zip_internal.h Examining data/libmwaw-0.3.17/src/conv/svg/mwaw2svg.cpp Examining data/libmwaw-0.3.17/src/conv/html/mwaw2html.cpp Examining data/libmwaw-0.3.17/src/conv/csv/mwaw2csv.cpp Examining data/libmwaw-0.3.17/src/conv/text/mwaw2text.cpp Examining data/libmwaw-0.3.17/src/conv/helper/helper.h Examining data/libmwaw-0.3.17/src/conv/helper/helper.cpp Examining data/libmwaw-0.3.17/src/conv/raw/mwaw2raw.cpp Examining data/libmwaw-0.3.17/src/lib/BeagleWksBMParser.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisDrawStyleManager.cxx Examining data/libmwaw-0.3.17/src/lib/BeagleWksText.cxx Examining data/libmwaw-0.3.17/src/lib/MouseWrtParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWTable.cxx Examining data/libmwaw-0.3.17/src/lib/MarinerWrtText.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWGraphicStyle.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWHeader.cxx Examining data/libmwaw-0.3.17/src/lib/CanvasParser.cxx Examining data/libmwaw-0.3.17/src/lib/PowerPoint7Struct.cxx Examining data/libmwaw-0.3.17/src/lib/WriteNowEntry.cxx Examining data/libmwaw-0.3.17/src/lib/PixelPaintParser.cxx Examining data/libmwaw-0.3.17/src/lib/MsWks3Text.cxx Examining data/libmwaw-0.3.17/src/lib/RagTime5Layout.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisWksPresentation.cxx Examining data/libmwaw-0.3.17/src/lib/FullWrtStruct.cxx Examining data/libmwaw-0.3.17/src/lib/SuperPaintParser.cxx Examining data/libmwaw-0.3.17/src/lib/GreatWksBMParser.cxx Examining data/libmwaw-0.3.17/src/lib/FullWrtGraph.cxx Examining data/libmwaw-0.3.17/src/lib/RagTime5ClusterManager.cxx Examining data/libmwaw-0.3.17/src/lib/CanvasGraph.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisWksText.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisDrawGraph.cxx Examining data/libmwaw-0.3.17/src/lib/MacDraft5StyleManager.cxx Examining data/libmwaw-0.3.17/src/lib/TeachTxtParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWPresentationListener.cxx Examining data/libmwaw-0.3.17/src/lib/DocMkrText.cxx Examining data/libmwaw-0.3.17/src/lib/GreatWksText.cxx Examining data/libmwaw-0.3.17/src/lib/MoreParser.cxx Examining data/libmwaw-0.3.17/src/lib/JazzWriterParser.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisWksGraph.cxx Examining data/libmwaw-0.3.17/src/lib/MacDraft5Parser.cxx Examining data/libmwaw-0.3.17/src/lib/GreatWksDocument.cxx Examining data/libmwaw-0.3.17/src/lib/MsWksDocument.cxx Examining data/libmwaw-0.3.17/src/lib/ActaParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWSubDocument.cxx Examining data/libmwaw-0.3.17/src/lib/NisusWrtStruct.cxx Examining data/libmwaw-0.3.17/src/lib/HanMacWrdKParser.cxx Examining data/libmwaw-0.3.17/src/lib/CorelPainterParser.cxx Examining data/libmwaw-0.3.17/src/lib/RagTime5Pipeline.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisWksSpreadsheet.cxx Examining data/libmwaw-0.3.17/src/lib/RagTime5StructManager.cxx Examining data/libmwaw-0.3.17/src/lib/BeagleWksDBParser.cxx Examining data/libmwaw-0.3.17/src/lib/libmwaw_internal.cxx Examining data/libmwaw-0.3.17/src/lib/MsWrdTextStyles.cxx Examining data/libmwaw-0.3.17/src/lib/GreatWksParser.cxx Examining data/libmwaw-0.3.17/src/lib/MsWksSSParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWPict.cxx Examining data/libmwaw-0.3.17/src/lib/GreatWksSSParser.cxx Examining data/libmwaw-0.3.17/src/lib/HanMacWrdKText.cxx Examining data/libmwaw-0.3.17/src/lib/MacWrtProParser.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisWksTable.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWParagraph.cxx Examining data/libmwaw-0.3.17/src/lib/MacDrawProStyleManager.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWPrinter.cxx Examining data/libmwaw-0.3.17/src/lib/RagTime5Graph.cxx Examining data/libmwaw-0.3.17/src/lib/PowerPoint3Parser.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisWksStruct.cxx Examining data/libmwaw-0.3.17/src/lib/RagTime5Text.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisWksPRParser.cxx Examining data/libmwaw-0.3.17/src/lib/StyleParser.cxx Examining data/libmwaw-0.3.17/src/lib/MaxWrtParser.cxx Examining data/libmwaw-0.3.17/src/lib/MacDrawParser.cxx Examining data/libmwaw-0.3.17/src/lib/HanMacWrdJText.cxx Examining data/libmwaw-0.3.17/src/lib/MarinerWrtParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWPictMac.cxx Examining data/libmwaw-0.3.17/src/lib/BeagleWksSSParser.cxx Examining data/libmwaw-0.3.17/src/lib/GreatWksDBParser.cxx Examining data/libmwaw-0.3.17/src/lib/MsWksDBParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWEntry.cxx Examining data/libmwaw-0.3.17/src/lib/RagTimeParser.cxx Examining data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisDrawParser.cxx Examining data/libmwaw-0.3.17/src/lib/HanMacWrdJParser.cxx Examining data/libmwaw-0.3.17/src/lib/WriterPlsParser.cxx Examining data/libmwaw-0.3.17/src/lib/FreeHandParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWCell.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWFontConverter.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWInputStream.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWPictBitmap.cxx Examining data/libmwaw-0.3.17/src/lib/MsWrdParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWFont.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisWksDocument.cxx Examining data/libmwaw-0.3.17/src/lib/GreatWksDRParser.cxx Examining data/libmwaw-0.3.17/src/lib/MacWrtParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWChart.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWGraphicShape.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWList.cxx Examining data/libmwaw-0.3.17/src/lib/MsWrdText.cxx Examining data/libmwaw-0.3.17/src/lib/MsWksDRParser.cxx Examining data/libmwaw-0.3.17/src/lib/ActaText.cxx Examining data/libmwaw-0.3.17/src/lib/MsWks4Zone.cxx Examining data/libmwaw-0.3.17/src/lib/RagTime5SSParser.cxx Examining data/libmwaw-0.3.17/src/lib/LightWayTxtText.cxx Examining data/libmwaw-0.3.17/src/lib/RagTimeSpreadsheet.cxx Examining data/libmwaw-0.3.17/src/lib/MsWksParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWListener.cxx Examining data/libmwaw-0.3.17/src/lib/FullWrtText.cxx Examining data/libmwaw-0.3.17/src/lib/MultiplanParser.cxx Examining data/libmwaw-0.3.17/src/lib/RagTimeStruct.cxx Examining data/libmwaw-0.3.17/src/lib/RagTime5Parser.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisWksBMParser.cxx Examining data/libmwaw-0.3.17/src/lib/PowerPoint3OLE.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWGraphicEncoder.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWFontSJISConverter.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisWksDbaseContent.cxx Examining data/libmwaw-0.3.17/src/lib/ZWrtText.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWSpreadsheetListener.cxx Examining data/libmwaw-0.3.17/src/lib/WingzGraph.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWStringStream.cxx Examining data/libmwaw-0.3.17/src/lib/BeagleWksParser.cxx Examining data/libmwaw-0.3.17/src/lib/MsWrdStruct.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWDebug.cxx Examining data/libmwaw-0.3.17/src/lib/LightWayTxtParser.cxx Examining data/libmwaw-0.3.17/src/lib/RagTime5Formula.cxx Examining data/libmwaw-0.3.17/src/lib/RagTime5Spreadsheet.cxx Examining data/libmwaw-0.3.17/src/lib/MarinerWrtGraph.cxx Examining data/libmwaw-0.3.17/src/lib/DocMkrParser.cxx Examining data/libmwaw-0.3.17/src/lib/BeagleWksDRParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWRSRCParser.cxx Examining data/libmwaw-0.3.17/src/lib/MsWrd1Parser.cxx Examining data/libmwaw-0.3.17/src/lib/MacWrtProStructures.cxx Examining data/libmwaw-0.3.17/src/lib/NisusWrtText.cxx Examining data/libmwaw-0.3.17/src/lib/BeagleWksStructManager.cxx Examining data/libmwaw-0.3.17/src/lib/CricketDrawParser.cxx Examining data/libmwaw-0.3.17/src/lib/LightWayTxtGraph.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWParser.cxx Examining data/libmwaw-0.3.17/src/lib/ApplePictParser.cxx Examining data/libmwaw-0.3.17/src/lib/EDocParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWSpreadsheetDecoder.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWPictData.cxx Examining data/libmwaw-0.3.17/src/lib/RagTime5Chart.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWPropertyHandler.cxx Examining data/libmwaw-0.3.17/src/lib/WriteNowText.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisWksParser.cxx Examining data/libmwaw-0.3.17/src/lib/WingzParser.cxx Examining data/libmwaw-0.3.17/src/lib/MsWks4Text.cxx Examining data/libmwaw-0.3.17/src/lib/MsWksTable.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWGraphicDecoder.cxx Examining data/libmwaw-0.3.17/src/lib/GreatWksGraph.cxx Examining data/libmwaw-0.3.17/src/lib/MacDraftParser.cxx Examining data/libmwaw-0.3.17/src/lib/FullWrtParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWSection.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWTextListener.cxx Examining data/libmwaw-0.3.17/src/lib/MoreText.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisWksDatabase.cxx Examining data/libmwaw-0.3.17/src/lib/MacDocParser.cxx Examining data/libmwaw-0.3.17/src/lib/NisusWrtGraph.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWPageSpan.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWPosition.cxx Examining data/libmwaw-0.3.17/src/lib/PowerPoint1Parser.cxx Examining data/libmwaw-0.3.17/src/lib/MsWksGraph.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx Examining data/libmwaw-0.3.17/src/lib/NisusWrtParser.cxx Examining data/libmwaw-0.3.17/src/lib/CanvasStyleManager.cxx Examining data/libmwaw-0.3.17/src/lib/DrawTableParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWSpreadsheetEncoder.cxx Examining data/libmwaw-0.3.17/src/lib/HanMacWrdKGraph.cxx Examining data/libmwaw-0.3.17/src/lib/HanMacWrdJGraph.cxx Examining data/libmwaw-0.3.17/src/lib/ZWrtParser.cxx Examining data/libmwaw-0.3.17/src/lib/WriteNowParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWDocument.cxx Examining data/libmwaw-0.3.17/src/lib/MindWrtParser.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisWksSSParser.cxx Examining data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx Examining data/libmwaw-0.3.17/src/lib/MacDrawProParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWGraphicListener.cxx Examining data/libmwaw-0.3.17/src/lib/RagTime5StyleManager.cxx Examining data/libmwaw-0.3.17/src/lib/RagTimeText.cxx Examining data/libmwaw-0.3.17/src/lib/RagTime5Document.cxx Examining data/libmwaw-0.3.17/src/lib/MacPaintParser.cxx Examining data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWOLEParser.cxx Examining data/libmwaw-0.3.17/src/lib/MWAWStream.cxx Examining data/libmwaw-0.3.17/src/lib/ClarisDrawText.cxx Examining data/libmwaw-0.3.17/src/lib/JazzSSParser.cxx Examining data/libmwaw-0.3.17/src/fuzz/docmkrfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/lightwaytxtfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/wingzfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/clariswksfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/edocfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/applepictfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/cricketdrawfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/multiplanfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/mswksfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/macwrtfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/beaglewksfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/writenowfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/zwrtfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/macpaintfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/mindwrtfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/macdocfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/hanmacwrdfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/fullwrtfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/macdraftfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/nisuswrtfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/superpaintfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/actafuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/morefuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/teachtxtfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/mousewrtfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/pixelpaintfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/ragtimefuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/marinerwrtfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/mswrdfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/powerpointfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/freehandfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/writerplsfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/clarisdrawfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/greatwksfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/macdrawfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/maxwrtfuzzer.cpp Examining data/libmwaw-0.3.17/src/fuzz/stylefuzzer.cpp FINAL RESULTS: data/libmwaw-0.3.17/src/lib/ClarisDrawGraph.cxx:475:13: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. fName.sprintf("Frame%d-%d", m_frameId, m_frameSubId); data/libmwaw-0.3.17/src/lib/ClarisDrawGraph.cxx:480:13: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. fName.sprintf("Frame%d-%d", m_frameId, m_frameSubId+1); data/libmwaw-0.3.17/src/lib/ClarisWksGraph.cxx:519:13: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. fName.sprintf("Frame%d-%d", m_frameId, m_frameSubId); data/libmwaw-0.3.17/src/lib/ClarisWksGraph.cxx:524:13: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. fName.sprintf("Frame%d-%d", m_frameId, m_frameSubId+1); data/libmwaw-0.3.17/src/lib/FreeHandParser.cxx:3297:9: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. layer.sprintf("%d", zId); data/libmwaw-0.3.17/src/lib/HanMacWrdJGraph.cxx:2185:11: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. fName.sprintf("Frame%ld", textbox.m_fileId); data/libmwaw-0.3.17/src/lib/HanMacWrdJGraph.cxx:2190:11: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. fName.sprintf("Frame%ld", textbox.m_linkToFId); data/libmwaw-0.3.17/src/lib/HanMacWrdKGraph.cxx:557:13: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. fName.sprintf("Frame%ld", m_fileId); data/libmwaw-0.3.17/src/lib/HanMacWrdKGraph.cxx:562:13: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. fName.sprintf("Frame%ld", m_linkedIdList[0]); data/libmwaw-0.3.17/src/lib/MsWksGraph.cxx:2928:13: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. fName.sprintf("Frame%ld", zone->m_ids[0]); data/libmwaw-0.3.17/src/lib/MsWksGraph.cxx:2933:13: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. fName.sprintf("Frame%ld", zone->m_ids[2]); data/libmwaw-0.3.17/src/lib/RagTime5Spreadsheet.cxx:739:12: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. suffix.sprintf("_%d", plane); data/libmwaw-0.3.17/src/lib/RagTime5Spreadsheet.cxx:1418:14: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. suffix.sprintf(" %d", ++m_newSheetId); data/libmwaw-0.3.17/src/lib/libmwaw_internal.cxx:734:8: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. std::vfprintf(stderr, format, args); data/libmwaw-0.3.17/src/tools/file/file_internal.h:37:27: [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 MWAW_DEBUG_MSG(M) printf M data/libmwaw-0.3.17/src/tools/zip/zip_internal.h:43:27: [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 MWAW_DEBUG_MSG(M) printf M data/libmwaw-0.3.17/src/conv/csv/mwaw2csv.cpp:101:16: [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 ((ch = getopt(argc, argv, "hvo:d:f:t:D:FNn:T:")) != -1) { data/libmwaw-0.3.17/src/conv/html/mwaw2html.cpp:77:16: [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 ((ch = getopt(argc, argv, "hv")) != -1) { data/libmwaw-0.3.17/src/conv/svg/mwaw2svg.cpp:92:16: [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 ((ch = getopt(argc, argv, "hb:o:tv")) != -1) { data/libmwaw-0.3.17/src/conv/text/mwaw2text.cpp:82:16: [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 ((ch = getopt(argc, argv, "hio:v")) != -1) { data/libmwaw-0.3.17/src/tools/file/file.cpp:1151:16: [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 ((ch = getopt(argc, argv, "fFhvw:")) != -1) { data/libmwaw-0.3.17/src/tools/zip/mwawZip.cpp:81:16: [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 ((ch = getopt(argc, argv, "hvxD")) != -1) { data/libmwaw-0.3.17/src/conv/csv/mwaw2csv.cpp:122: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). sheetToConvert=std::atoi(optarg); data/libmwaw-0.3.17/src/conv/text/mwaw2text.cpp:181: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 *out=fopen(output, "wb"); data/libmwaw-0.3.17/src/lib/ActaParser.cxx:420:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/ApplePictParser.cxx:229:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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[3]; data/libmwaw-0.3.17/src/lib/ApplePictParser.cxx:308: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 val[4]; data/libmwaw-0.3.17/src/lib/ApplePictParser.cxx:811:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/BeagleWksBMParser.cxx:182:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/BeagleWksBMParser.cxx:621: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[3]; data/libmwaw-0.3.17/src/lib/BeagleWksBMParser.cxx:670: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[3]; data/libmwaw-0.3.17/src/lib/BeagleWksDBParser.cxx:322:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/BeagleWksDRParser.cxx:315:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/BeagleWksDRParser.cxx:626: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 color[3]; data/libmwaw-0.3.17/src/lib/BeagleWksParser.cxx:176:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/BeagleWksSSParser.cxx:388:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/BeagleWksSSParser.cxx:817: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 const *wh[4] = {"draw[grid]", "draw[value]", "auto[scale]", "flip[RowCol]"}; data/libmwaw-0.3.17/src/lib/BeagleWksSSParser.cxx: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 const *wh[3] = {"minScale", "maxScale", "step[value]"}; data/libmwaw-0.3.17/src/lib/CanvasGraph.cxx:689: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[3]; data/libmwaw-0.3.17/src/lib/CanvasGraph.cxx:1152:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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/libmwaw-0.3.17/src/lib/CanvasGraph.cxx:1217: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 cols[4]= {0,0,0}; data/libmwaw-0.3.17/src/lib/CanvasGraph.cxx:1306:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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/libmwaw-0.3.17/src/lib/CanvasGraph.cxx:1399: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/libmwaw-0.3.17/src/lib/CanvasGraph.cxx:2350:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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[3]; data/libmwaw-0.3.17/src/lib/CanvasGraph.cxx:2373:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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[3]; data/libmwaw-0.3.17/src/lib/CanvasGraph.cxx:2957:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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[3]; data/libmwaw-0.3.17/src/lib/CanvasParser.cxx:229: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[256], data2[256]; data/libmwaw-0.3.17/src/lib/CanvasParser.cxx:280: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. unsigned char data[256], data2[256]; data/libmwaw-0.3.17/src/lib/CanvasParser.cxx:283: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. unsigned char m_dict[30]; data/libmwaw-0.3.17/src/lib/CanvasParser.cxx:592:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/CanvasParser.cxx:1133: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[3]; data/libmwaw-0.3.17/src/lib/CanvasStyleManager.cxx:265: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. unsigned char col[3]; data/libmwaw-0.3.17/src/lib/CanvasStyleManager.cxx:365:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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[3]; data/libmwaw-0.3.17/src/lib/CanvasStyleManager.cxx:582: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. unsigned char col[4]; data/libmwaw-0.3.17/src/lib/ClarisDrawGraph.cxx:2065: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[3]; data/libmwaw-0.3.17/src/lib/ClarisDrawParser.cxx:196:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/ClarisDrawStyleManager.cxx:1374: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 color[3]; data/libmwaw-0.3.17/src/lib/ClarisDrawStyleManager.cxx:1480:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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 color[3]; data/libmwaw-0.3.17/src/lib/ClarisWksBMParser.cxx:126:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/ClarisWksGraph.cxx:2554: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[3]; data/libmwaw-0.3.17/src/lib/ClarisWksPRParser.cxx:186:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/ClarisWksParser.cxx:215:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/ClarisWksSSParser.cxx:195:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:526: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. static unsigned char const wall0[781]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:556: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. static unsigned char const wall1[781]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:586: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. static unsigned char const wall2[781]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:616: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. static unsigned char const wall3[3085]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:717: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. static unsigned char const wall4[781]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:747: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. static unsigned char const wall5[781]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:777: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. static unsigned char const wall6[781]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:807: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. static unsigned char const wall7[781]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:837: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. static unsigned char const wall8[781]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:867: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. static unsigned char const wall9[3085]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:968: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. static unsigned char const wall10[781]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:998: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. static unsigned char const wall11[781]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:1028: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. static unsigned char const wall12[781]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:1058: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. static unsigned char const wall13[781]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:1088: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. static unsigned char const wall14[3085]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:1189: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. static unsigned char const wall15[781]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:1219: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. static unsigned char const wall16[781]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:1249: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. static unsigned char const wall17[781]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:1279: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. static unsigned char const wall18[3085]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:1380: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. static unsigned char const wall19[3085]= { data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:1843:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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 color[3]; data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:1905: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 color[3]; data/libmwaw-0.3.17/src/lib/ClarisWksStyleManager.cxx:2809: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 const *wh[16] = { data/libmwaw-0.3.17/src/lib/CorelPainterParser.cxx:222:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/CorelPainterParser.cxx:331: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 data[4]; data/libmwaw-0.3.17/src/lib/CorelPainterParser.cxx:858: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 outbuf[9]; data/libmwaw-0.3.17/src/lib/CorelPainterParser.cxx:1236: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 data[4]; data/libmwaw-0.3.17/src/lib/CricketDrawParser.cxx:371:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/DocMkrText.cxx:695: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[3]; data/libmwaw-0.3.17/src/lib/DrawTableParser.cxx:266:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/EDocParser.cxx:302:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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 const *wh[2]= {"cPIC", "PICT"}; data/libmwaw-0.3.17/src/lib/FreeHandParser.cxx:735:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/FreeHandParser.cxx:1276: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. char const *wh[6]= { "groupStyle0", "fillStyle", "lineStyle", "colStyle", "dashStyle", "colStyle2" }; data/libmwaw-0.3.17/src/lib/FreeHandParser.cxx:1294: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. char const *wh[8]= { "colStyle", "fillStyle", "lineStyle", "groupStyle3", "fillStyle[unamed]", "lineStyle[unamed]", "dashStyle", "colStyle2"}; data/libmwaw-0.3.17/src/lib/FreeHandParser.cxx:1875: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[3]; data/libmwaw-0.3.17/src/lib/FreeHandParser.cxx:1888:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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[3]; data/libmwaw-0.3.17/src/lib/FreeHandParser.cxx:1915: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[3]; data/libmwaw-0.3.17/src/lib/FreeHandParser.cxx:1927:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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[3]; data/libmwaw-0.3.17/src/lib/FreeHandParser.cxx:1932: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/libmwaw-0.3.17/src/lib/FullWrtParser.cxx:413:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/FullWrtStruct.cxx:385:16: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). m_asciiFile->open(s.str()); data/libmwaw-0.3.17/src/lib/FullWrtText.cxx: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 const *wh[5]= {"father", "child", "next", "prev", "main"}; data/libmwaw-0.3.17/src/lib/GreatWksBMParser.cxx:99:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/GreatWksDBParser.cxx:547:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/GreatWksDRParser.cxx:161:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/GreatWksDocument.cxx:428:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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[3]; data/libmwaw-0.3.17/src/lib/GreatWksGraph.cxx:645: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[3]; data/libmwaw-0.3.17/src/lib/GreatWksGraph.cxx:941:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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[3]; data/libmwaw-0.3.17/src/lib/GreatWksGraph.cxx:964: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[3]; data/libmwaw-0.3.17/src/lib/GreatWksGraph.cxx:1118: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[3]; data/libmwaw-0.3.17/src/lib/GreatWksParser.cxx:245:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/GreatWksSSParser.cxx:318:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/GreatWksSSParser.cxx: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. static char const *wh[0x1a] = { data/libmwaw-0.3.17/src/lib/GreatWksSSParser.cxx:1232: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 color[3]; data/libmwaw-0.3.17/src/lib/GreatWksText.cxx:999: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. unsigned char color[3]; data/libmwaw-0.3.17/src/lib/GreatWksText.cxx:1276: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. unsigned char color[3]; data/libmwaw-0.3.17/src/lib/HanMacWrdJParser.cxx:268:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/HanMacWrdJText.cxx:592: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). asciiFile.open(s.str().c_str()); data/libmwaw-0.3.17/src/lib/HanMacWrdJText.cxx:1962:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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 const *wh[5] = { "T", "L", "B", "R", "VSep" }; data/libmwaw-0.3.17/src/lib/HanMacWrdKParser.cxx:229:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/HanMacWrdKParser.cxx:1073:17: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). zone->ascii().open(s.str()); data/libmwaw-0.3.17/src/lib/HanMacWrdKText.cxx:1295:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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 const *wh[5] = { "T", "L", "B", "R", "VSep" }; data/libmwaw-0.3.17/src/lib/JazzSSParser.cxx:175:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/JazzWriterParser.cxx:209:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/LightWayTxtParser.cxx:254:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/LightWayTxtText.cxx:600: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[3]; data/libmwaw-0.3.17/src/lib/LightWayTxtText.cxx:1067: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[3]; data/libmwaw-0.3.17/src/lib/MWAWCell.cxx:648: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/libmwaw-0.3.17/src/lib/MWAWCell.cxx:672: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/libmwaw-0.3.17/src/lib/MWAWDebug.cxx:46:17: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). bool DebugFile::open(std::string const &filename) data/libmwaw-0.3.17/src/lib/MWAWDebug.cxx:117: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). m_file.open(name.c_str()); data/libmwaw-0.3.17/src/lib/MWAWDebug.cxx:201: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 *file = fopen(fName.c_str(), "wb"); data/libmwaw-0.3.17/src/lib/MWAWInputStream.cxx:415:10: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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 const binChar[65] = "!\"#$%&'()*+,-012345689@ABCDEFGHIJKLMNPQRSTUVXYZ[`abcdefhijklmpqr"; data/libmwaw-0.3.17/src/lib/MWAWOLEParser.cxx:381: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). int val = std::atoi(dir.substr(idP, idP-pos).c_str()); data/libmwaw-0.3.17/src/lib/MWAWOLEParser.cxx:417:17: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). asciiFile.open(dOle.m_name); data/libmwaw-0.3.17/src/lib/MWAWOLEParser.cxx:1436:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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 dataType[5]; data/libmwaw-0.3.17/src/lib/MWAWPictBitmap.cxx:69: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. unsigned char buf4[4]; data/libmwaw-0.3.17/src/lib/MWAWPictData.cxx:51: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. unsigned char buf[512]; data/libmwaw-0.3.17/src/lib/MWAWRSRCParser.cxx:103:13: [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). ascii().open("RSRC"); data/libmwaw-0.3.17/src/lib/MWAWRSRCParser.cxx:433: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[3]; data/libmwaw-0.3.17/src/lib/MWAWSection.cxx:47:10: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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 const *wh[4]= {"L", "R", "T", "B"}; data/libmwaw-0.3.17/src/lib/MWAWStringStream.cxx:56: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(&m_buffer[0], data, dataSize); data/libmwaw-0.3.17/src/lib/MWAWStringStream.cxx:74:8: [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(&m_buffer[actualSize], data, dataSize); data/libmwaw-0.3.17/src/lib/MacDocParser.cxx:393: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. unsigned char col[3]; data/libmwaw-0.3.17/src/lib/MacDraft5Parser.cxx:499:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/MacDraftParser.cxx:368:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/MacDrawParser.cxx:298:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/MacDrawProParser.cxx:470:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/MacDrawProStyleManager.cxx:631:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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[3]; data/libmwaw-0.3.17/src/lib/MacDrawProStyleManager.cxx:1474: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[3]; data/libmwaw-0.3.17/src/lib/MacDrawProStyleManager.cxx:2114: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/libmwaw-0.3.17/src/lib/MacDrawProStyleManager.cxx:2183: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/libmwaw-0.3.17/src/lib/MacDrawProStyleManager.cxx:2474:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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/libmwaw-0.3.17/src/lib/MacDrawProStyleManager.cxx:2585:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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/libmwaw-0.3.17/src/lib/MacPaintParser.cxx:101:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/MacWrtParser.cxx:417:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/MacWrtProParser.cxx:393:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/MacWrtProParser.cxx:502:16: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). res->m_ascii.open(s.str().c_str()); data/libmwaw-0.3.17/src/lib/MarinerWrtParser.cxx:355:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/MarinerWrtParser.cxx:677: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 color[3]; data/libmwaw-0.3.17/src/lib/MarinerWrtParser.cxx:959: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. unsigned char color[3]; data/libmwaw-0.3.17/src/lib/MarinerWrtParser.cxx:1233: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 color[3]; data/libmwaw-0.3.17/src/lib/MarinerWrtText.cxx:1298:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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 color[3]; data/libmwaw-0.3.17/src/lib/MarinerWrtText.cxx:1629: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 color[3]; data/libmwaw-0.3.17/src/lib/MarinerWrtText.cxx:1720: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 str[4]; data/libmwaw-0.3.17/src/lib/MaxWrtParser.cxx:114:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/MaxWrtParser.cxx:289: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[3]; data/libmwaw-0.3.17/src/lib/MindWrtParser.cxx:650:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/MoreParser.cxx:256:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/MoreParser.cxx:592: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 color[3]; data/libmwaw-0.3.17/src/lib/MoreParser.cxx:1091: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 rgb[3]; data/libmwaw-0.3.17/src/lib/MoreParser.cxx:1138: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. unsigned char rgb[3]; data/libmwaw-0.3.17/src/lib/MoreParser.cxx:1165: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. unsigned char rgb[3]; data/libmwaw-0.3.17/src/lib/MoreText.cxx:1940: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 color[3]; data/libmwaw-0.3.17/src/lib/MouseWrtParser.cxx:212:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/MsWks4Text.cxx:1218: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. unsigned char col[3]= {0,0,0}; data/libmwaw-0.3.17/src/lib/MsWksDocument.cxx:192:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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 color[3] = {0,0,0}; data/libmwaw-0.3.17/src/lib/MsWksDocument.cxx:320: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). m_asciiFile.open(name); data/libmwaw-0.3.17/src/lib/MsWksDocument.cxx:1297: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 char const *(listFunc) [0x41] = { data/libmwaw-0.3.17/src/lib/MsWksGraph.cxx:2754: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. unsigned char color[3]; data/libmwaw-0.3.17/src/lib/MsWrd1Parser.cxx:355:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/MsWrdParser.cxx:486:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/MsWrdStruct.cxx:46:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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 const *what[Font::NumFlags]= { data/libmwaw-0.3.17/src/lib/MsWrdText.cxx:401: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). m_debugFile.open("main-2.data", std::ios_base::out | std::ios_base::trunc); data/libmwaw-0.3.17/src/lib/MultiplanParser.cxx:192:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/NisusWrtParser.cxx:540:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/PixelPaintParser.cxx:107:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/PixelPaintParser.cxx:428: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 c[4]; data/libmwaw-0.3.17/src/lib/PixelPaintParser.cxx:695:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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 c[3]; data/libmwaw-0.3.17/src/lib/PowerPoint1Parser.cxx:423:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/PowerPoint1Parser.cxx:1965:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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[3]; data/libmwaw-0.3.17/src/lib/PowerPoint1Parser.cxx:2227: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[3]; data/libmwaw-0.3.17/src/lib/PowerPoint3OLE.cxx:177: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). asciiFile.open(name); data/libmwaw-0.3.17/src/lib/PowerPoint3OLE.cxx:195: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). ascFile.open(name); data/libmwaw-0.3.17/src/lib/PowerPoint3OLE.cxx:215: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). ascFile.open(name); data/libmwaw-0.3.17/src/lib/PowerPoint3OLE.cxx:255: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). ascFile.open(name); data/libmwaw-0.3.17/src/lib/PowerPoint3OLE.cxx:296: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). ascFile.open(name); data/libmwaw-0.3.17/src/lib/PowerPoint3Parser.cxx:923: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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/PowerPoint3Parser.cxx: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 col[3]; data/libmwaw-0.3.17/src/lib/PowerPoint3Parser.cxx:3273:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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[3]; data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:834: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. unsigned char col[4]; data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:2084: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. unsigned char bmHeader[14]; data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:307: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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1860: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/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2776: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). ascFile.open("Text_Content"); data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:357:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:445:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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/libmwaw-0.3.17/src/lib/RagTime5Graph.cxx:808: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 col[4]; data/libmwaw-0.3.17/src/lib/RagTime5Parser.cxx:204:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/RagTime5SSParser.cxx:183:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/RagTime5StructManager.cxx:679: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/libmwaw-0.3.17/src/lib/RagTime5StructManager.cxx:1202: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/libmwaw-0.3.17/src/lib/RagTime5StructManager.cxx:1660:16: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). m_asciiFile->open(m_asciiName.c_str()); data/libmwaw-0.3.17/src/lib/RagTimeParser.cxx:498:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/RagTimeParser.cxx:1486: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[3]; data/libmwaw-0.3.17/src/lib/RagTimeParser.cxx:1896:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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[3]; data/libmwaw-0.3.17/src/lib/StyleParser.cxx:180:13: [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). ascii().open("main-1"); data/libmwaw-0.3.17/src/lib/StyleParser.cxx:561: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[3]; data/libmwaw-0.3.17/src/lib/StyleParser.cxx:750: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 col[3]; data/libmwaw-0.3.17/src/lib/StyleParser.cxx:1341: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[3]; data/libmwaw-0.3.17/src/lib/SuperPaintParser.cxx:261:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/TeachTxtParser.cxx:143:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/TeachTxtParser.cxx:391: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[3]; data/libmwaw-0.3.17/src/lib/WingzGraph.cxx:659: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 colors[3]; data/libmwaw-0.3.17/src/lib/WingzGraph.cxx:879: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 colors[3]; data/libmwaw-0.3.17/src/lib/WingzGraph.cxx:1008: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. unsigned char col[3]; data/libmwaw-0.3.17/src/lib/WingzParser.cxx:352: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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/WriteNowParser.cxx:246:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/WriteNowParser.cxx:802: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/libmwaw-0.3.17/src/lib/WriteNowText.cxx:288: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 char const *wh[4]= {"T", "R", "B", "L"}; data/libmwaw-0.3.17/src/lib/WriterPlsParser.cxx:707:13: [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). ascii().open(asciiName()); data/libmwaw-0.3.17/src/lib/ZWrtText.cxx:632: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[3]; data/libmwaw-0.3.17/src/lib/ZWrtText.cxx:686: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 color[3]; data/libmwaw-0.3.17/src/lib/libmwaw_internal.cxx:92:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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 outbuf[7]; data/libmwaw-0.3.17/src/tools/file/file.cpp:1154: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). verbose=atoi(optarg); data/libmwaw-0.3.17/src/tools/file/input.cpp:116:3: [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(&m_buffer[0], data, dataSize); data/libmwaw-0.3.17/src/tools/file/input.cpp:153: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). m_file = fopen(path,"r"); data/libmwaw-0.3.17/src/tools/file/ole.cpp:496: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(&buffer[wPos], buf, size_t(read)); data/libmwaw-0.3.17/src/tools/zip/input.cpp:117:3: [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(&m_buffer[0], data, dataSize); data/libmwaw-0.3.17/src/tools/zip/input.cpp:154: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). m_file = fopen(path,"r"); data/libmwaw-0.3.17/src/tools/zip/mwawZip.cpp:117: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. char buff[4] = {'\0', '\0','\0','\0'}; data/libmwaw-0.3.17/src/tools/zip/mwawZip.cpp:194: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). if (!zip.open(argv[optind+1])) data/libmwaw-0.3.17/src/tools/zip/xattr.cpp:90:10: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (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 const *attr[2] = { "com.apple.FinderInfo", "com.apple.ResourceFork" }; data/libmwaw-0.3.17/src/tools/zip/xattr.cpp:219:7: [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(bufferPtr,"Mac OS X ",16); // defaultName data/libmwaw-0.3.17/src/tools/zip/xattr.cpp:245:7: [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(bufferPtr, &data[0], finderInfoSize); data/libmwaw-0.3.17/src/tools/zip/xattr.cpp: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(bufferPtr, &data[0], size_t(sz[1])); data/libmwaw-0.3.17/src/tools/zip/zip.cpp:273: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). bool Zip::open(char const *filename) data/libmwaw-0.3.17/src/tools/zip/zip.cpp:283: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). m_output.open(filename, std::ios::out | std::ios::binary); data/libmwaw-0.3.17/src/tools/zip/zip.h:56:8: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). bool open(char const *filename); data/libmwaw-0.3.17/src/conv/helper/helper.cpp:85:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead) final; data/libmwaw-0.3.17/src/conv/helper/helper.cpp:156:36: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *StringStream::read(unsigned long numBytes, unsigned long &numBytesRead) data/libmwaw-0.3.17/src/conv/helper/helper.cpp:234:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *read(unsigned long, unsigned long &) final data/libmwaw-0.3.17/src/conv/helper/helper.cpp:385:36: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *buf=input.read(46, numBytesRead); data/libmwaw-0.3.17/src/lib/ActaParser.cxx:744:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/ApplePictParser.cxx:158:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = input.read(size_t(m_rowBytes), numR); data/libmwaw-0.3.17/src/lib/ApplePictParser.cxx:173:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = input.read(size_t(numB), numR); data/libmwaw-0.3.17/src/lib/ApplePictParser.cxx:219:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(MWAWInputStream &input) data/libmwaw-0.3.17/src/lib/ApplePictParser.cxx:429:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = input.read(size_t(m_rowBytes), numR); data/libmwaw-0.3.17/src/lib/ApplePictParser.cxx:444:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = input.read(size_t(numB), numR); data/libmwaw-0.3.17/src/lib/ApplePictParser.cxx:1904:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!pixmap.m_colorTable->read(*input)) return false; data/libmwaw-0.3.17/src/lib/BeagleWksBMParser.cxx:694:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/BeagleWksDBParser.cxx:667:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/BeagleWksDRParser.cxx:1200:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/BeagleWksParser.cxx:414:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/BeagleWksSSParser.cxx:590:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/CanvasParser.cxx:171:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned long read; data/libmwaw-0.3.17/src/lib/CanvasParser.cxx:172:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *dt = m_input->read(headerSize, read); data/libmwaw-0.3.17/src/lib/CanvasParser.cxx:172:55: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *dt = m_input->read(headerSize, read); data/libmwaw-0.3.17/src/lib/CanvasParser.cxx:173:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!dt || read != headerSize) { data/libmwaw-0.3.17/src/lib/CanvasParser.cxx:195:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned long read; data/libmwaw-0.3.17/src/lib/CanvasParser.cxx:196:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *dt = m_input->read((unsigned long)length, read); data/libmwaw-0.3.17/src/lib/CanvasParser.cxx:196:66: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *dt = m_input->read((unsigned long)length, read); data/libmwaw-0.3.17/src/lib/CanvasParser.cxx:198:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!dt || read != (unsigned long)length) { data/libmwaw-0.3.17/src/lib/CanvasParser.cxx:1786:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/ClarisDrawGraph.cxx:2442:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). long val=!isCompressed ? read : (read>>(numColorBytes*numRead))&colorMask; data/libmwaw-0.3.17/src/lib/ClarisDrawGraph.cxx:2442:40: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). long val=!isCompressed ? read : (read>>(numColorBytes*numRead))&colorMask; data/libmwaw-0.3.17/src/lib/ClarisDrawParser.cxx:1406:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/ClarisWksDocument.cxx:2329:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/ClarisWksDocument.cxx:2396: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 (zoneName && strlen(zoneName)) data/libmwaw-0.3.17/src/lib/ClarisWksGraph.cxx:3230:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). long val=!isCompressed ? read : (read>>(numColorBytes*numRead))&colorMask; data/libmwaw-0.3.17/src/lib/ClarisWksGraph.cxx:3230:40: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). long val=!isCompressed ? read : (read>>(numColorBytes*numRead))&colorMask; data/libmwaw-0.3.17/src/lib/ClarisWksStruct.cxx:115: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 (zoneName && strlen(zoneName)) data/libmwaw-0.3.17/src/lib/CorelPainterParser.cxx:1296:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint8_t const *values=input->read(size_t(dim[0]), numReads); data/libmwaw-0.3.17/src/lib/CricketDrawParser.cxx:1223:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/DrawTableParser.cxx:499:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) data/libmwaw-0.3.17/src/lib/FreeHandParser.cxx:792:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/FreeHandParser.cxx:1207:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/FullWrtGraph.cxx:261:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!mod.read(zone, fSz)) data/libmwaw-0.3.17/src/lib/FullWrtGraph.cxx:285:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!sidebar->read(zone)) { data/libmwaw-0.3.17/src/lib/FullWrtGraph.cxx:565:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!doc.read(zone)) { data/libmwaw-0.3.17/src/lib/FullWrtParser.cxx:1071:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/FullWrtParser.cxx:1292:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). done=docData.read(zone); data/libmwaw-0.3.17/src/lib/FullWrtParser.cxx:1462:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!doc.read(zone)) { data/libmwaw-0.3.17/src/lib/FullWrtParser.cxx:1837:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned long read; data/libmwaw-0.3.17/src/lib/FullWrtParser.cxx:1838:40: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *dt = input->read(size_t(actEnt->length()), read); data/libmwaw-0.3.17/src/lib/FullWrtParser.cxx:1838:71: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *dt = input->read(size_t(actEnt->length()), read); data/libmwaw-0.3.17/src/lib/FullWrtParser.cxx:1839:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). data.append(dt, read); data/libmwaw-0.3.17/src/lib/FullWrtStruct.cxx:142:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool Border::read(std::shared_ptr<FullWrtStruct::Entry> zone, int fSz) data/libmwaw-0.3.17/src/lib/FullWrtStruct.cxx:419:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool ZoneHeader::read(std::shared_ptr<FullWrtStruct::Entry> zone) data/libmwaw-0.3.17/src/lib/GreatWksDocument.cxx:297:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/HanMacWrdJParser.cxx:646:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/HanMacWrdKParser.cxx:582:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/LightWayTxtParser.cxx:473:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/MWAWGraphicDecoder.cxx:50: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). int len=psName ? int(strlen(psName)) : 0; data/libmwaw-0.3.17/src/lib/MWAWGraphicDecoder.cxx:135: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). int len=psName ? int(strlen(psName)) : 0; data/libmwaw-0.3.17/src/lib/MWAWInputStream.cxx:140:33: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const uint8_t *MWAWInputStream::read(size_t numBytes, unsigned long &numBytesRead) data/libmwaw-0.3.17/src/lib/MWAWInputStream.cxx:144:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return m_stream->read(numBytes,numBytesRead); data/libmwaw-0.3.17/src/lib/MWAWInputStream.cxx:207:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint8_t const *p = stream->read(static_cast<unsigned long>(num), numBytesRead); data/libmwaw-0.3.17/src/lib/MWAWInputStream.cxx:249:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint8_t const *p = stream->read(sizeof(uint8_t), numBytesRead); data/libmwaw-0.3.17/src/lib/MWAWInputStream.cxx:397:50: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). auto const *str=reinterpret_cast<char const *>(read(45,nRead)); data/libmwaw-0.3.17/src/lib/MWAWInputStream.cxx:540:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). contentInput->read(static_cast<unsigned long>(rsrcLength), numBytesRead); data/libmwaw-0.3.17/src/lib/MWAWInputStream.cxx:555:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). contentInput->read(static_cast<unsigned long>(dataLength), numBytesRead); data/libmwaw-0.3.17/src/lib/MWAWInputStream.cxx:596:56: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *data = newInfo ? newInfo->read(8, numBytesRead) : nullptr; data/libmwaw-0.3.17/src/lib/MWAWInputStream.cxx:783:40: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *data = inp->read(entrySize, numBytesRead); data/libmwaw-0.3.17/src/lib/MWAWInputStream.cxx:929:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((readData=m_stream->read(static_cast<unsigned long>(sz), sizeRead)) == nullptr || long(sizeRead)!=sz) data/libmwaw-0.3.17/src/lib/MWAWPictMac.cxx:168:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(MWAWInputStream &input) data/libmwaw-0.3.17/src/lib/MWAWPictMac.cxx:241:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(MWAWInputStream &input, bool packed, bool hasRegion) data/libmwaw-0.3.17/src/lib/MWAWPictMac.cxx:277:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!rgn->read(input)) return false; data/libmwaw-0.3.17/src/lib/MWAWPictMac.cxx:387:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = input.read(size_t(m_rowBytes), numR); data/libmwaw-0.3.17/src/lib/MWAWPictMac.cxx:402:43: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = input.read(size_t(numB), numR); data/libmwaw-0.3.17/src/lib/MWAWPictMac.cxx:698:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!btmap->read(input, packed, hasRgn)) return -1; data/libmwaw-0.3.17/src/lib/MWAWPictMac.cxx:740:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!rgn->read(input)) return false; data/libmwaw-0.3.17/src/lib/MWAWPictMac.cxx:756:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!btmap->read(input, packed, hasRgn)) return false; data/libmwaw-0.3.17/src/lib/MWAWPrinter.cxx:54:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool PrinterRect::read(MWAWInputStreamPtr input, MWAWVec2i const &res) data/libmwaw-0.3.17/src/lib/MWAWPrinter.cxx:97:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(MWAWInputStreamPtr input) data/libmwaw-0.3.17/src/lib/MWAWPrinter.cxx:104:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return m_rect.read(input, m_resolution); data/libmwaw-0.3.17/src/lib/MWAWPrinter.cxx:126:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(MWAWInputStreamPtr input) data/libmwaw-0.3.17/src/lib/MWAWPrinter.cxx:154:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(MWAWInputStreamPtr input) data/libmwaw-0.3.17/src/lib/MWAWPrinter.cxx:235:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool PrinterInfo::read(MWAWInputStreamPtr input) data/libmwaw-0.3.17/src/lib/MWAWPrinter.cxx:238:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!m_data->m_info.read(input)) return false; data/libmwaw-0.3.17/src/lib/MWAWPrinter.cxx:239:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!m_data->m_paper.read(input, m_data->m_info.resolution())) return false; data/libmwaw-0.3.17/src/lib/MWAWPrinter.cxx:240:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!m_data->m_feed.read(input)) return false; data/libmwaw-0.3.17/src/lib/MWAWPrinter.cxx:242:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!m_data->m_info2.read(input)) { data/libmwaw-0.3.17/src/lib/MWAWPrinter.cxx:250:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!m_data->m_job.read(input)) return false; data/libmwaw-0.3.17/src/lib/MWAWPropertyHandler.cxx:168:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = inp->read(1,numRead); data/libmwaw-0.3.17/src/lib/MWAWPropertyHandler.cxx:282:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = input.read(1,numRead); data/libmwaw-0.3.17/src/lib/MWAWPropertyHandler.cxx:338:37: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *dt = input.read(static_cast<unsigned long>(numC), numRead); data/libmwaw-0.3.17/src/lib/MWAWPropertyHandler.cxx:351:37: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *dt = input.read(4, numRead); data/libmwaw-0.3.17/src/lib/MWAWStringStream.cxx:97:40: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *MWAWStringStream::read(unsigned long numBytes, unsigned long &numBytesRead) data/libmwaw-0.3.17/src/lib/MacDraft5Parser.cxx:2338:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/MacDraft5StyleManager.cxx:150:41: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = input.read(size_t(m_rowBytes), numR); data/libmwaw-0.3.17/src/lib/MacDraftParser.cxx:1635:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/MacDrawParser.cxx:1050:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/MacDrawProParser.cxx:2708:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/MacWrtParser.cxx:828:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/MacWrtProParser.cxx:472:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned long read; data/libmwaw-0.3.17/src/lib/MacWrtProParser.cxx:474:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *dt = input->read(sz, read); data/libmwaw-0.3.17/src/lib/MacWrtProParser.cxx:474:47: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *dt = input->read(sz, read); data/libmwaw-0.3.17/src/lib/MacWrtProParser.cxx:475:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!dt || read != sz) { data/libmwaw-0.3.17/src/lib/MacWrtProParser.cxx:706:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/MacWrtProStructures.cxx:1795:8: [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 || strlen > 31) { data/libmwaw-0.3.17/src/lib/MacWrtProStructures.cxx:1795:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (!strlen || strlen > 31) { data/libmwaw-0.3.17/src/lib/MacWrtProStructures.cxx:1801: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). for (int i = 0; i < strlen; ++i) // default data/libmwaw-0.3.17/src/lib/MarinerWrtParser.cxx:1309:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) data/libmwaw-0.3.17/src/lib/MindWrtParser.cxx:2010:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/MoreParser.cxx:472:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/MouseWrtParser.cxx:692:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/MsWks4Zone.cxx:644:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/MsWksDocument.cxx:702:50: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!input->checkPosition(pos+0x78+8) || !info.read(input)) return false; data/libmwaw-0.3.17/src/lib/MsWksGraph.cxx:568:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint8_t const *value = ip->read(size_t(m_numCols), numRead); data/libmwaw-0.3.17/src/lib/MsWrdParser.cxx:1952:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/MsWrdStruct.cxx:168:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool Section::read(MWAWInputStreamPtr &input, long endPos) data/libmwaw-0.3.17/src/lib/MsWrdStruct.cxx:435:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool Table::read(MWAWInputStreamPtr &input, long endPos) data/libmwaw-0.3.17/src/lib/MsWrdStruct.cxx:702:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool ParagraphInfo::read(MWAWInputStreamPtr &input, long endPos, int vers) data/libmwaw-0.3.17/src/lib/MsWrdStruct.cxx:730:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool Paragraph::read(MWAWInputStreamPtr &input, long endPos) data/libmwaw-0.3.17/src/lib/MsWrdStruct.cxx:734:35: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (m_version > 3 && m_section->read(input,endPos)) data/libmwaw-0.3.17/src/lib/MsWrdStruct.cxx:742:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (m_table->read(input,endPos)) data/libmwaw-0.3.17/src/lib/MsWrdText.cxx:945:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!paraMod.read(input, pos+6, vers)) data/libmwaw-0.3.17/src/lib/MsWrdTextStyles.cxx:413:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (para.read(input,endPos)) continue; data/libmwaw-0.3.17/src/lib/MsWrdTextStyles.cxx:745:33: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!para.m_info->read(input, endPos, vers)) { data/libmwaw-0.3.17/src/lib/MsWrdTextStyles.cxx:1032:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ok = sec.read(input, endPos); data/libmwaw-0.3.17/src/lib/MsWrdTextStyles.cxx:1463:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (read) continue; data/libmwaw-0.3.17/src/lib/NisusWrtGraph.cxx:238:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). data.read(*m_mainParser, entry); data/libmwaw-0.3.17/src/lib/NisusWrtParser.cxx:707:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). data.read(*this, entry); data/libmwaw-0.3.17/src/lib/NisusWrtParser.cxx:719:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). data.read(*this, entry); data/libmwaw-0.3.17/src/lib/NisusWrtParser.cxx:753:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). data.read(*this, entry); data/libmwaw-0.3.17/src/lib/NisusWrtParser.cxx:767:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). data.read(*this, entry); data/libmwaw-0.3.17/src/lib/NisusWrtParser.cxx:778:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). data.read(*this, entry); data/libmwaw-0.3.17/src/lib/NisusWrtParser.cxx:788:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). data.read(*this, entry); data/libmwaw-0.3.17/src/lib/NisusWrtParser.cxx:1597:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/NisusWrtStruct.cxx:77:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool RecursifData::read(NisusWrtParser &parser, MWAWEntry const &entry) data/libmwaw-0.3.17/src/lib/NisusWrtStruct.cxx:192:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!childData->read(parser, child.m_entry)) { data/libmwaw-0.3.17/src/lib/PowerPoint1Parser.cxx:1777:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/PowerPoint3Parser.cxx:1349:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:685:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3001) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:739:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3002) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:772:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3005) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:1192:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3007) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:1230:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3008) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:1317:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3009) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:1418:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3010) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:1487:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3011) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:1520:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3014) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:1573:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3015) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:1611:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3016) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:1668:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3017) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:1713:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3018) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:1766:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3019) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:1824:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3035) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:1865:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3036) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:1904:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=2006) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:1971:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1027) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:2025:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=2012) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:2100:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((readData=input->read(static_cast<unsigned long>(header.m_dataSize), sizeRead)) != nullptr || long(sizeRead)==header.m_dataSize) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:2129:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3038) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:2162:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4037) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:2211:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4033) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:2251:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4038) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:2291:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4035) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:2325:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4044) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:2382:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4045) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:2415:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4028) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:2461:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4036) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:2494:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4053) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:2539:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=5000) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:2587:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=5001) { data/libmwaw-0.3.17/src/lib/PowerPoint7Graph.cxx:2619:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=5002) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:328:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:375:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=10) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:409:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1000) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:474:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1001) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:531:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1005) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:601:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=expectedType) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:699:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1007) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:738:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1008) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:814:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1009) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:845:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1010) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:915:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1012) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:959:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1015) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:999:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1017) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1032:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1018) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1082:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1019) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1113:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1021) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1155:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1022) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1185:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1023) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1235:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1024) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1268:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1025) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1301:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1026) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1345:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1028) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1392:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1029) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1426:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1031) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1470:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=1032) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1514:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=2000) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1610:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=2001) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1642:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=2017) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1668:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=2019) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1720:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=2020) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1761:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=2025) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1792:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=2026) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1838:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=2031) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1882:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3000) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1942:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3012) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:1997:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=3013) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2027:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4000) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2078:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4001) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2136:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4014) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2198:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4015) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2230:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4026) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2255:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4032) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2285:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4040) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2335:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4039) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2370:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4041) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2439:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4050) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2467:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4052) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2507:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4054) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2551:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4057) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2601:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4058) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2639:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4072) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2691:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos)) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2719:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos)) { data/libmwaw-0.3.17/src/lib/PowerPoint7Parser.cxx:2732:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!cHeader.read(input, lastDataPos)) { data/libmwaw-0.3.17/src/lib/PowerPoint7Struct.cxx:38:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool PowerPoint7Struct::Zone::read(MWAWInputStreamPtr input, long endPos) data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:171:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=2005) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:243:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=2028) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:288:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=2030) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:659:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4002) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:724:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4003) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:776:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4021) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:807:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4022) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:859:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4023) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:900:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4024) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:927:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4051) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:960:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4055) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:994:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4064) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:1059:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4066) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:1103:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4067) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:1151:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4068) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:1209:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4016) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:1273:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4019) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:1320:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4069) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:1368:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4070) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:1426:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=2027) { data/libmwaw-0.3.17/src/lib/PowerPoint7Text.cxx:1491:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!header.read(input,lastPos) || header.m_type!=4056) { data/libmwaw-0.3.17/src/lib/RagTime5Document.cxx:2011:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned long read; data/libmwaw-0.3.17/src/lib/RagTime5Document.cxx:2012:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *dt = input->read(static_cast<unsigned long>(entry.length()), read); data/libmwaw-0.3.17/src/lib/RagTime5Document.cxx:2012:87: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *dt = input->read(static_cast<unsigned long>(entry.length()), read); data/libmwaw-0.3.17/src/lib/RagTime5Document.cxx:2013:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!dt || long(read) != entry.length()) { data/libmwaw-0.3.17/src/lib/RagTime5Document.cxx:2080:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read = (read<<8)+static_cast<unsigned int>(input->readULong(1)); data/libmwaw-0.3.17/src/lib/RagTime5Document.cxx:2084:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned int val=(read >> (nBytesRead-szField)); data/libmwaw-0.3.17/src/lib/RagTime5Document.cxx:2086:5: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read &= ((1<<nBytesRead)-1); data/libmwaw-0.3.17/src/lib/RagTime5StructManager.cxx:717:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/RagTime5StyleManager.cxx:176:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (style.read(input, field, m_colorsList)) data/libmwaw-0.3.17/src/lib/RagTime5StyleManager.cxx:193:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (style.read(input, field, m_colorsList)) { data/libmwaw-0.3.17/src/lib/RagTime5StyleManager.cxx:195:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). modStyle.read(input, field, m_colorsList); data/libmwaw-0.3.17/src/lib/RagTime5StyleManager.cxx:237:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (style.read(field)) data/libmwaw-0.3.17/src/lib/RagTime5StyleManager.cxx:253:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (style.read(field)) { data/libmwaw-0.3.17/src/lib/RagTime5StyleManager.cxx:255:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). modStyle.read(field); data/libmwaw-0.3.17/src/lib/RagTime5StyleManager.cxx:1270:42: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool RagTime5StyleManager::GraphicStyle::read(MWAWInputStreamPtr &input, RagTime5StructManager::Field const &field, std::vector<MWAWColor> const &colorList) data/libmwaw-0.3.17/src/lib/RagTime5StyleManager.cxx:1745:39: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool RagTime5StyleManager::TextStyle::read(RagTime5StructManager::Field const &field) data/libmwaw-0.3.17/src/lib/RagTimeParser.cxx:1167:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (zone.read(input, entry) && zone.m_type!=RagTimeStruct::ResourceList::Undef) { data/libmwaw-0.3.17/src/lib/RagTimeParser.cxx:1555:57: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (dSz<120 || !input->checkPosition(endPos) || !info.read(input)) { data/libmwaw-0.3.17/src/lib/RagTimeParser.cxx:2278:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!zone.read(input, entry)) { data/libmwaw-0.3.17/src/lib/RagTimeParser.cxx:2531:34: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint8_t const *values=input->read(size_t(rowSize), numReads); data/libmwaw-0.3.17/src/lib/RagTimeSpreadsheet.cxx:737:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!zone.read(input, entry)) { data/libmwaw-0.3.17/src/lib/RagTimeStruct.cxx:42:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool ResourceList::read(MWAWInputStreamPtr input, MWAWEntry &entry) data/libmwaw-0.3.17/src/lib/StyleParser.cxx:1410:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/SuperPaintParser.cxx:1176:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/WingzParser.cxx:2041:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned long read; data/libmwaw-0.3.17/src/lib/WingzParser.cxx:2042:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint8_t const *data=input->read(size_t(length), read); data/libmwaw-0.3.17/src/lib/WingzParser.cxx:2042:51: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint8_t const *data=input->read(size_t(length), read); data/libmwaw-0.3.17/src/lib/WingzParser.cxx:2043:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!data || length!=long(read)) { data/libmwaw-0.3.17/src/lib/WingzParser.cxx:2163:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool ok=info.read(input); data/libmwaw-0.3.17/src/lib/WriteNowParser.cxx:860:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) { data/libmwaw-0.3.17/src/lib/WriterPlsParser.cxx:1979:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!info.read(input)) return false; data/libmwaw-0.3.17/src/lib/libmwaw_internal.cxx:55:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint8_t const *p = input->read(sizeof(uint8_t), numBytesRead); data/libmwaw-0.3.17/src/tools/file/input.cpp:48:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = read(1, nRead); data/libmwaw-0.3.17/src/tools/file/input.cpp:55:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = read(2, nRead); data/libmwaw-0.3.17/src/tools/file/input.cpp:62:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = read(4, nRead); data/libmwaw-0.3.17/src/tools/file/input.cpp:69:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = read(1, nRead); data/libmwaw-0.3.17/src/tools/file/input.cpp:76:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = read(2, nRead); data/libmwaw-0.3.17/src/tools/file/input.cpp:83:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = read(4, nRead); data/libmwaw-0.3.17/src/tools/file/input.cpp:119:36: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *StringStream::read(unsigned long numBytes, unsigned long &numBytesRead) data/libmwaw-0.3.17/src/tools/file/input.cpp:168:34: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *FileStream::read(unsigned long numBytes, unsigned long &numBytesRead) data/libmwaw-0.3.17/src/tools/file/input.h:51:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). virtual unsigned char const *read(unsigned long numBytes, unsigned long &numBytesRead) = 0; data/libmwaw-0.3.17/src/tools/file/input.h:84:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *read(unsigned long numBytes, unsigned long &numBytesRead) final; data/libmwaw-0.3.17/src/tools/file/input.h:104:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *read(unsigned long numBytes, unsigned long &numBytesRead) final; data/libmwaw-0.3.17/src/tools/file/ole.cpp:48:37: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = input.read(2, nRead); data/libmwaw-0.3.17/src/tools/file/ole.cpp:58:37: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = input.read(4, nRead); data/libmwaw-0.3.17/src/tools/file/ole.cpp:66:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool OLE::Header::read(InputStream &input) data/libmwaw-0.3.17/src/tools/file/ole.cpp:72:36: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *magic=input.read(8, nRead); data/libmwaw-0.3.17/src/tools/file/ole.cpp:115:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool OLE::DirEntry::read(InputStream &input) data/libmwaw-0.3.17/src/tools/file/ole.cpp:346:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!m_header.read(m_input) || !initAllocTables()) data/libmwaw-0.3.17/src/tools/file/ole.cpp:361:55: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (m_input.atEOS() || !m_dirTree.entry(pos++)->read(m_input)) { data/libmwaw-0.3.17/src/tools/file/ole.cpp:443:40: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = stream.read(fieldSize, nRead); data/libmwaw-0.3.17/src/tools/file/ole.cpp:488:42: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned long toRead=e->m_size-wPos, read; data/libmwaw-0.3.17/src/tools/file/ole.cpp:490:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *buf=m_input.read(toRead, read); data/libmwaw-0.3.17/src/tools/file/ole.cpp:490:51: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *buf=m_input.read(toRead, read); data/libmwaw-0.3.17/src/tools/file/ole.cpp:491:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!buf || read!=toRead) { data/libmwaw-0.3.17/src/tools/file/ole.cpp:496:39: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). memcpy(&buffer[wPos], buf, size_t(read)); data/libmwaw-0.3.17/src/tools/file/ole.cpp:497:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). wPos += read; data/libmwaw-0.3.17/src/tools/file/ole.h:116:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(InputStream &input); data/libmwaw-0.3.17/src/tools/file/ole.h:208:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(InputStream &input); data/libmwaw-0.3.17/src/tools/file/xattr.cpp:180:44: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *data = input->read(16, numBytesRead); data/libmwaw-0.3.17/src/tools/file/xattr.cpp:274:40: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *data = inp->read(entrySize, numBytesRead); data/libmwaw-0.3.17/src/tools/zip/input.cpp:49:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = read(1, nRead); data/libmwaw-0.3.17/src/tools/zip/input.cpp:56:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = read(2, nRead); data/libmwaw-0.3.17/src/tools/zip/input.cpp:63:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = read(4, nRead); data/libmwaw-0.3.17/src/tools/zip/input.cpp:70:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = read(1, nRead); data/libmwaw-0.3.17/src/tools/zip/input.cpp:77:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = read(2, nRead); data/libmwaw-0.3.17/src/tools/zip/input.cpp:84:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *data = read(4, nRead); data/libmwaw-0.3.17/src/tools/zip/input.cpp:120:36: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *StringStream::read(unsigned long numBytes, unsigned long &numBytesRead) data/libmwaw-0.3.17/src/tools/zip/input.cpp:169:34: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *FileStream::read(unsigned long numBytes, unsigned long &numBytesRead) data/libmwaw-0.3.17/src/tools/zip/input.h:54:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). virtual unsigned char const *read(unsigned long numBytes, unsigned long &numBytesRead) = 0; data/libmwaw-0.3.17/src/tools/zip/input.h:94:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *read(unsigned long numBytes, unsigned long &numBytesRead) final; data/libmwaw-0.3.17/src/tools/zip/input.h:114:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *read(unsigned long numBytes, unsigned long &numBytesRead) final; data/libmwaw-0.3.17/src/tools/zip/mwawZip.cpp:118:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). file.read(buff,4); data/libmwaw-0.3.17/src/tools/zip/mwawZip.cpp:127:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). file.read(buff,4); data/libmwaw-0.3.17/src/tools/zip/mwawZip.cpp:133:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). file.read(buff,4); data/libmwaw-0.3.17/src/tools/zip/xattr.cpp:240:42: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *data = input->read(finderInfoSize, numBytesRead); data/libmwaw-0.3.17/src/tools/zip/xattr.cpp:254:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). data = input->read(static_cast<unsigned long>(sz[1]), numBytesRead); data/libmwaw-0.3.17/src/tools/zip/zip.cpp:97:54: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned char const *buf= numBytes==0 ? 0 : input->read(numBytes, numBytesRead); ANALYSIS SUMMARY: Hits = 574 Lines analyzed = 244525 in approximately 7.38 seconds (33115 lines/second) Physical Source Lines of Code (SLOC) = 207246 Hits@level = [0] 85 [1] 322 [2] 230 [3] 6 [4] 16 [5] 0 Hits@level+ = [0+] 659 [1+] 574 [2+] 252 [3+] 22 [4+] 16 [5+] 0 Hits/KSLOC@level+ = [0+] 3.1798 [1+] 2.76966 [2+] 1.21595 [3+] 0.106154 [4+] 0.0772029 [5+] 0 Dot directories skipped = 1 (--followdotdir overrides) Minimum risk level = 1 Not every hit is necessarily a security vulnerability. There may be other security vulnerabilities; review your code! See 'Secure Programming HOWTO' (https://dwheeler.com/secure-programs) for more information.