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.