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/libstaroffice-0.0.7/src/conv/sd2raw/sd2raw.cpp Examining data/libstaroffice-0.0.7/src/conv/sd2svg/sd2svg.cpp Examining data/libstaroffice-0.0.7/src/conv/sd2text/sd2text.cpp Examining data/libstaroffice-0.0.7/src/conv/sdc2csv/sdc2csv.cpp Examining data/libstaroffice-0.0.7/src/conv/sdw2html/sdw2html.cpp Examining data/libstaroffice-0.0.7/src/fuzz/sdafuzzer.cpp Examining data/libstaroffice-0.0.7/src/fuzz/sdcfuzzer.cpp Examining data/libstaroffice-0.0.7/src/fuzz/sddfuzzer.cpp Examining data/libstaroffice-0.0.7/src/fuzz/sdwfuzzer.cpp Examining data/libstaroffice-0.0.7/src/lib/SDAParser.cxx Examining data/libstaroffice-0.0.7/src/lib/SDCParser.cxx Examining data/libstaroffice-0.0.7/src/lib/SDGParser.cxx Examining data/libstaroffice-0.0.7/src/lib/SDWParser.cxx Examining data/libstaroffice-0.0.7/src/lib/SDXParser.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFCell.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFCellStyle.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFChart.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFDebug.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFDocument.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFEntry.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFFont.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFFrameStyle.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFGraphicDecoder.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFGraphicEncoder.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFGraphicListener.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFGraphicShape.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFGraphicStyle.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFHeader.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFInputStream.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFList.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFListener.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFOLEParser.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFPageSpan.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFParagraph.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFParser.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFPosition.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFPropertyHandler.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFSection.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFSpreadsheetDecoder.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFSpreadsheetEncoder.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFSpreadsheetListener.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFStarMathToMMLConverter.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFStringStream.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFSubDocument.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFTable.cxx Examining data/libstaroffice-0.0.7/src/lib/STOFFTextListener.cxx Examining data/libstaroffice-0.0.7/src/lib/SWFieldManager.cxx Examining data/libstaroffice-0.0.7/src/lib/StarAttribute.cxx Examining data/libstaroffice-0.0.7/src/lib/StarBitmap.cxx Examining data/libstaroffice-0.0.7/src/lib/StarCellAttribute.cxx Examining data/libstaroffice-0.0.7/src/lib/StarCellFormula.cxx Examining data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx Examining data/libstaroffice-0.0.7/src/lib/StarEncoding.cxx Examining data/libstaroffice-0.0.7/src/lib/StarEncodingChinese.cxx Examining data/libstaroffice-0.0.7/src/lib/StarEncodingJapanese.cxx Examining data/libstaroffice-0.0.7/src/lib/StarEncodingKorean.cxx Examining data/libstaroffice-0.0.7/src/lib/StarEncodingOtherKorean.cxx Examining data/libstaroffice-0.0.7/src/lib/StarEncodingTradChinese.cxx Examining data/libstaroffice-0.0.7/src/lib/StarEncryption.cxx Examining data/libstaroffice-0.0.7/src/lib/StarFileManager.cxx Examining data/libstaroffice-0.0.7/src/lib/StarFormatManager.cxx Examining data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx Examining data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx Examining data/libstaroffice-0.0.7/src/lib/StarGraphicStruct.cxx Examining data/libstaroffice-0.0.7/src/lib/StarItem.cxx Examining data/libstaroffice-0.0.7/src/lib/StarItemPool.cxx Examining data/libstaroffice-0.0.7/src/lib/StarLanguage.cxx Examining data/libstaroffice-0.0.7/src/lib/StarLayout.cxx Examining data/libstaroffice-0.0.7/src/lib/StarObject.cxx Examining data/libstaroffice-0.0.7/src/lib/StarObjectChart.cxx Examining data/libstaroffice-0.0.7/src/lib/StarObjectDraw.cxx Examining data/libstaroffice-0.0.7/src/lib/StarObjectMath.cxx Examining data/libstaroffice-0.0.7/src/lib/StarObjectModel.cxx Examining data/libstaroffice-0.0.7/src/lib/StarObjectNumericRuler.cxx Examining data/libstaroffice-0.0.7/src/lib/StarObjectPageStyle.cxx Examining data/libstaroffice-0.0.7/src/lib/StarObjectSmallGraphic.cxx Examining data/libstaroffice-0.0.7/src/lib/StarObjectSmallText.cxx Examining data/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx Examining data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx Examining data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx Examining data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx Examining data/libstaroffice-0.0.7/src/lib/StarState.cxx Examining data/libstaroffice-0.0.7/src/lib/StarTable.cxx Examining data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx Examining data/libstaroffice-0.0.7/src/lib/StarZone.cxx Examining data/libstaroffice-0.0.7/src/lib/libstaroffice_internal.cxx FINAL RESULTS: data/libstaroffice-0.0.7/src/lib/SWFieldManager.cxx:1004:12: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. date.sprintf("%d/%d/%d", int((m_date/100)%100), int(m_date%100), int(m_date/10000)); data/libstaroffice-0.0.7/src/lib/StarEncryption.cxx:104:8: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. data.sprintf("%08x%08x", date, time); data/libstaroffice-0.0.7/src/lib/StarEncryption.cxx:122:8: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. data.sprintf("%08x%08x", date, time); data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:422:11: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. delay.sprintf("PT%fS", double(m_value)); data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:893:12: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. clip.sprintf("rect(%fpt,%ftt,%fpt,%fpt)", state.convertInPoint(m_leftTop[1]), state.convertInPoint(m_rightBottom[0]), data/libstaroffice-0.0.7/src/lib/StarGraphicStruct.cxx:381:16: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sElement.sprintf("H%i", int(getInchValue(path[i]["svg:x"])*2540)); data/libstaroffice-0.0.7/src/lib/StarGraphicStruct.cxx:385:16: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sElement.sprintf("V%i", int(getInchValue(path[i]["svg:y"])*2540)); data/libstaroffice-0.0.7/src/lib/StarGraphicStruct.cxx:389:16: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sElement.sprintf("%c%i %i", action[0], int(getInchValue(path[i]["svg:x"])*2540), data/libstaroffice-0.0.7/src/lib/StarGraphicStruct.cxx:394:16: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sElement.sprintf("%c%i %i %i %i", action[0], int(getInchValue(path[i]["svg:x1"])*2540), data/libstaroffice-0.0.7/src/lib/StarGraphicStruct.cxx:400:16: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sElement.sprintf("C%i %i %i %i %i %i", int(getInchValue(path[i]["svg:x1"])*2540), data/libstaroffice-0.0.7/src/lib/StarGraphicStruct.cxx:407:16: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sElement.sprintf("A%i %i %i %i %i %i %i", int((getInchValue(path[i]["svg:rx"]))*2540), data/libstaroffice-0.0.7/src/lib/StarObject.cxx:138:7: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. res.sprintf("Info%d", i); data/libstaroffice-0.0.7/src/lib/StarObjectModel.cxx:389:18: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. masterName.sprintf("Master%d", id); data/libstaroffice-0.0.7/src/lib/StarObjectModel.cxx:457:16: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. masterName.sprintf("Master%d", id); data/libstaroffice-0.0.7/src/lib/StarObjectSmallGraphic.cxx:550:19: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. transform.sprintf("rotate(%f)", m_textDrehWink/100.*M_PI/180.); data/libstaroffice-0.0.7/src/lib/StarObjectSmallGraphic.cxx:553:19: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. transform.sprintf("translate(%fpt %fpt) rotate(%f) translate(%fpt %fpt)", data/libstaroffice-0.0.7/src/lib/libstaroffice_internal.cxx:541: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/libstaroffice-0.0.7/src/conv/sd2raw/sd2raw.cpp:86: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, "chvp:")) != -1) { data/libstaroffice-0.0.7/src/conv/sd2svg/sd2svg.cpp:94: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, "ho:n:vN")) != -1) { data/libstaroffice-0.0.7/src/conv/sd2text/sd2text.cpp:87: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:p:v")) != -1) { data/libstaroffice-0.0.7/src/conv/sdc2csv/sdc2csv.cpp:105: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/libstaroffice-0.0.7/src/conv/sdw2html/sdw2html.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, "hvp:")) != -1) { data/libstaroffice-0.0.7/src/conv/sd2svg/sd2svg.cpp:103:26: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). pageToConvert=std::atoi(optarg); data/libstaroffice-0.0.7/src/conv/sd2text/sd2text.cpp:203: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/libstaroffice-0.0.7/src/conv/sdc2csv/sdc2csv.cpp:129: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/libstaroffice-0.0.7/src/lib/SDGParser.cxx:206: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("main-1"); data/libstaroffice-0.0.7/src/lib/SDXParser.cxx:200: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(name); data/libstaroffice-0.0.7/src/lib/STOFFDebug.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/libstaroffice-0.0.7/src/lib/STOFFDebug.cxx:118: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/libstaroffice-0.0.7/src/lib/STOFFDebug.cxx:204: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/libstaroffice-0.0.7/src/lib/STOFFInputStream.cxx:228: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/libstaroffice-0.0.7/src/lib/STOFFOLEParser.cxx:332: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(oleName); data/libstaroffice-0.0.7/src/lib/STOFFOLEParser.cxx:565: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("CompObj"); data/libstaroffice-0.0.7/src/lib/STOFFOLEParser.cxx:567: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(directory.m_dir+"/CompObj"); data/libstaroffice-0.0.7/src/lib/STOFFOLEParser.cxx:737:9: [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(content.getOleName()); data/libstaroffice-0.0.7/src/lib/STOFFOLEParser.cxx:864:9: [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(content.getOleName()); data/libstaroffice-0.0.7/src/lib/STOFFOLEParser.cxx:910:9: [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(content.getOleName()); data/libstaroffice-0.0.7/src/lib/STOFFOLEParser.cxx:1019:9: [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(content.getOleName()); data/libstaroffice-0.0.7/src/lib/STOFFOLEParser.cxx:1064: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/libstaroffice-0.0.7/src/lib/STOFFStringStream.cxx:52: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[0], data, dataSize); data/libstaroffice-0.0.7/src/lib/STOFFStringStream.cxx:64: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/libstaroffice-0.0.7/src/lib/StarBitmap.cxx:382: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]= {0,0,0,255}; data/libstaroffice-0.0.7/src/lib/StarBitmap.cxx:702: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]= {0,0,0,255}; data/libstaroffice-0.0.7/src/lib/StarFileManager.cxx:87: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() data/libstaroffice-0.0.7/src/lib/StarFileManager.cxx:407: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(name); data/libstaroffice-0.0.7/src/lib/StarFileManager.cxx:509: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(name); data/libstaroffice-0.0.7/src/lib/StarFileManager.cxx:532:9: [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(fileName); data/libstaroffice-0.0.7/src/lib/StarFileManager.cxx:580:9: [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(fileName); data/libstaroffice-0.0.7/src/lib/StarFileManager.cxx:728:9: [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(fileName); data/libstaroffice-0.0.7/src/lib/StarFileManager.cxx:1020:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char col[3]; data/libstaroffice-0.0.7/src/lib/StarItemPool.cxx:94: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(StarZone &zone) data/libstaroffice-0.0.7/src/lib/StarItemPool.cxx:1306: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). if (!mRecord.open(zone) || mRecord.getHeaderTag()!=0x20) { data/libstaroffice-0.0.7/src/lib/StarItemPool.cxx:1354:18: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!mRecord.open(zone)) { data/libstaroffice-0.0.7/src/lib/StarItemPool.cxx:1402:23: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!mRecord1.open(zone)) { data/libstaroffice-0.0.7/src/lib/StarItemPool.cxx:1868:18: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!mRecord.open(zone)) { data/libstaroffice-0.0.7/src/lib/StarLanguage.cxx:255: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 m_language[3]; data/libstaroffice-0.0.7/src/lib/StarObject.cxx:195:20: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). zone.ascii().open(name); data/libstaroffice-0.0.7/src/lib/StarObject.cxx:216: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/libstaroffice-0.0.7/src/lib/StarObject.cxx:291:9: [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(name); data/libstaroffice-0.0.7/src/lib/StarObject.cxx:492:9: [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(name); data/libstaroffice-0.0.7/src/lib/StarObject.cxx:643: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/libstaroffice-0.0.7/src/lib/StarObject.cxx:804:9: [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(name); data/libstaroffice-0.0.7/src/lib/StarObjectChart.cxx:193: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/libstaroffice-0.0.7/src/lib/StarObjectChart.cxx:209: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/libstaroffice-0.0.7/src/lib/StarObjectChart.cxx:301: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/libstaroffice-0.0.7/src/lib/StarObjectDraw.cxx:169: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/libstaroffice-0.0.7/src/lib/StarObjectDraw.cxx:193: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/libstaroffice-0.0.7/src/lib/StarObjectDraw.cxx:433: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/libstaroffice-0.0.7/src/lib/StarObjectMath.cxx:126: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/libstaroffice-0.0.7/src/lib/StarObjectMath.cxx:143:9: [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(fileName); data/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx:97: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() data/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx:795: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/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx:818: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/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx:869: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). ok=scRecord.open(); data/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx:957: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). ok=scRecord.open(); data/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx:1687: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/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx:1811:21: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!scRecord.open()) { data/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx:2202: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). if (!scRecord.open()) { data/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx:2453: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). if (!scRecord.open()) { data/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx:2542:24: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!scRecord2.open()) { data/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx:2570: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). if (!scRecord.open()) { data/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx:2998: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). if (!scRecord.open()) { data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:886: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/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:907: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/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:1620: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/libstaroffice-0.0.7/src/lib/StarZone.cxx:95: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(&buffer[0], data, size_t(sSz)); data/libstaroffice-0.0.7/src/lib/StarZone.cxx:192: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). m_ascii.open(m_asciiName); data/libstaroffice-0.0.7/src/lib/libstaroffice_internal.cxx:110: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/libstaroffice-0.0.7/src/lib/STOFFGraphicDecoder.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/libstaroffice-0.0.7/src/lib/STOFFGraphicDecoder.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/libstaroffice-0.0.7/src/lib/STOFFInputStream.cxx:104:34: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const uint8_t *STOFFInputStream::read(size_t numBytes, unsigned long &numBytesRead) data/libstaroffice-0.0.7/src/lib/STOFFInputStream.cxx:108: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/libstaroffice-0.0.7/src/lib/STOFFInputStream.cxx:161: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/libstaroffice-0.0.7/src/lib/STOFFInputStream.cxx:206: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/libstaroffice-0.0.7/src/lib/STOFFInputStream.cxx:281:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint8_t const *p = m_stream->read(sizeof(uint8_t), numBytesRead); data/libstaroffice-0.0.7/src/lib/STOFFInputStream.cxx:291:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). p = m_stream->read(sizeof(uint8_t), numBytesRead); data/libstaroffice-0.0.7/src/lib/STOFFInputStream.cxx:299:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). p = m_stream->read(2*sizeof(uint8_t), numBytesRead); data/libstaroffice-0.0.7/src/lib/STOFFInputStream.cxx:308:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). p = m_stream->read(3*sizeof(uint8_t), numBytesRead); data/libstaroffice-0.0.7/src/lib/STOFFInputStream.cxx:328:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint8_t const *p = m_stream->read(sizeof(uint8_t), numBytesRead); data/libstaroffice-0.0.7/src/lib/STOFFInputStream.cxx:338:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). p = m_stream->read(sizeof(uint8_t), numBytesRead); data/libstaroffice-0.0.7/src/lib/STOFFInputStream.cxx:347:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). p = m_stream->read(3*sizeof(uint8_t), numBytesRead); data/libstaroffice-0.0.7/src/lib/STOFFInputStream.cxx:584: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/libstaroffice-0.0.7/src/lib/STOFFPropertyHandler.cxx:161: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/libstaroffice-0.0.7/src/lib/STOFFPropertyHandler.cxx:275: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/libstaroffice-0.0.7/src/lib/STOFFPropertyHandler.cxx:324: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/libstaroffice-0.0.7/src/lib/STOFFPropertyHandler.cxx:337:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). auto const *dt = input.read(4, numRead); data/libstaroffice-0.0.7/src/lib/STOFFStringStream.cxx:82:41: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const unsigned char *STOFFStringStream::read(unsigned long numBytes, unsigned long &numBytesRead) data/libstaroffice-0.0.7/src/lib/StarAttribute.cxx:420:25: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarAttributeBool::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarAttribute.cxx:433:26: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarAttributeColor::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarAttribute.cxx:454:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarAttributeDouble::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarAttribute.cxx:471:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarAttributeInt::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarAttribute.cxx:484:26: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarAttributeVec2i::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarAttribute.cxx:501:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarAttributeItemSet::read(StarZone &zone, int /*vers*/, long endPos, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarAttribute.cxx:515:25: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarAttributeUInt::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarAttribute.cxx:528:25: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarAttributeVoid::read(StarZone &zone, int /*vers*/, long /*endPos*/, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarAttribute.cxx:594:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!attrib || !attrib->read(zone, nVers, lastPos, object)) { data/libstaroffice-0.0.7/src/lib/StarBitmap.cxx:281:32: [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(codeSize),readBytes); data/libstaroffice-0.0.7/src/lib/StarCellAttribute.cxx:311:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarCellAttribute.cxx:345:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarCellAttribute.cxx:381:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int /*vers*/, long endPos, StarObject &object) final data/libstaroffice-0.0.7/src/lib/StarCellAttribute.cxx:450:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarCellAttribute.cxx:516:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarCAttributeMargins::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarCellAttribute.cxx:532:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarCAttributeMerge::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarCellAttribute.cxx:550:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarCAttributeProtection::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:447:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:482:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:566:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:621:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:647:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:682:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:710:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:745:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:791:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:828:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:881:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:1038:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarCAttributeEscapement::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:1053:26: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarCAttributeFont::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:1116:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarCAttributeFontSize::read(StarZone &zone, int nVers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:1132:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarCAttributeCharFormat::read(StarZone &zone, int /*nVers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:1151:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarCAttributeContent::read(StarZone &zone, int /*nVers*/, long endPos, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:1172:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarCAttributeField::read(StarZone &zone, int /*nVers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:1198:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarCAttributeFlyCnt::read(StarZone &zone, int /*vers*/, long endPos, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:1215:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarCAttributeFootnote::read(StarZone &zone, int nVers, long endPos, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:1255:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarCAttributeHardBlank::read(StarZone &zone, int nVers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:1270:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarCAttributeINetFmt::read(StarZone &zone, int nVers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarCharAttribute.cxx:1349:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarCAttributeRefMark::read(StarZone &zone, int /*nVers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarEncoding.cxx:66:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!read(src, pos, encoding, dest) && actPos>=pos) data/libstaroffice-0.0.7/src/lib/StarEncoding.cxx:172:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarEncoding::read data/libstaroffice-0.0.7/src/lib/StarEncryption.cxx:200:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const uint8_t *data=input->read(size_t(dataSize), numRead); data/libstaroffice-0.0.7/src/lib/StarFileManager.cxx:681:25: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (nat5 && graphic.read(zone,input->size())) { data/libstaroffice-0.0.7/src/lib/StarFormatManager.cxx:762:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!brush.read(zone, 1, lastPos, doc)) { data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:127:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:142:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return StarAttributeUInt::read(zone, vers, endPos, object); data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:250:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:288:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:343:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:378:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:426:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:466:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:516:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:567:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:617:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:659:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:1083:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarFAttributeAnchor::read(StarZone &zone, int nVers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:1119:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarFAttributeBorder::read(StarZone &zone, int nVers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:1159:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarFAttributeBrush::read(StarZone &zone, int nVers, long endPos, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:1168:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool ok=m_brush.read(zone, nVers, endPos, object); data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:1179:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarFAttributeFrameSize::read(StarZone &zone, int nVers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:1201:35: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarFAttributeLineNumbering::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:1218:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarFAttributeLRSpace::read(StarZone &zone, int vers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:1262:33: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarFAttributeOrientation::read(StarZone &zone, int vers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:1283:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarFAttributeShadow::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:1312:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarFAttributeSurround::read(StarZone &zone, int vers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarFrameAttribute.cxx:1334:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarFAttributeULSpace::read(StarZone &zone, int vers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:120:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:138:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarGAttributeFraction::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:535:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:579:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:606:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) override; data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:643:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:676:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:710:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:746:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:800:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:859:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:994:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarGAttributeBoxInfo::read(StarZone &zone, int /*nVers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:1026:26: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarGAttributeCrop::read(StarZone &zone, int vers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:1045:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarGAttributeNamed::read(StarZone &zone, int /*nVers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:1058:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarGAttributeNamedArrow::read(StarZone &zone, int nVers, long endPos, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:1065:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!StarGAttributeNamed::read(zone, nVers, endPos, object)) { data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:1098:33: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarGAttributeNamedBitmap::read(StarZone &zone, int nVers, long endPos, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:1105:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!StarGAttributeNamed::read(zone, nVers, endPos, object)) { data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:1179:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarGAttributeNamedColor::read(StarZone &zone, int nVers, long endPos, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:1186:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!StarGAttributeNamed::read(zone, nVers, endPos, object)) { data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:1207:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarGAttributeNamedDash::read(StarZone &zone, int nVers, long endPos, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:1214:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!StarGAttributeNamed::read(zone, nVers, endPos, object)) { data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:1235:35: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarGAttributeNamedGradient::read(StarZone &zone, int nVers, long endPos, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:1242:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!StarGAttributeNamed::read(zone, nVers, endPos, object)) { data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:1268:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarGAttributeNamedHatch::read(StarZone &zone, int nVers, long endPos, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarGraphicAttribute.cxx:1275:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!StarGAttributeNamed::read(zone, nVers, endPos, object)) { data/libstaroffice-0.0.7/src/lib/StarGraphicStruct.cxx:498:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarBrush::read(StarZone &zone, int nVers, long /*endPos*/, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarGraphicStruct.cxx:549:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarGraphicStruct::StarGraphic::read(StarZone &zone, long endPos) data/libstaroffice-0.0.7/src/lib/StarItemPool.cxx:992:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarItemPool::read(StarZone &zone) data/libstaroffice-0.0.7/src/lib/StarLayout.cxx:81:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarLayout::read(StarZone &zone, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarObject.cxx:197:54: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). getNewItemPool(StarItemPool::T_VCControlPool)->read(zone); data/libstaroffice-0.0.7/src/lib/StarObject.cxx:661:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (pool && pool->read(zone)) { data/libstaroffice-0.0.7/src/lib/StarObjectChart.cxx:235:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!pool || !pool->read(zone)) data/libstaroffice-0.0.7/src/lib/StarObjectChart.cxx:252:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!model->read(zone)) { data/libstaroffice-0.0.7/src/lib/StarObjectChart.cxx:324:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (pool && pool->read(zone)) { data/libstaroffice-0.0.7/src/lib/StarObjectDraw.cxx:210:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!model->read(zone)) { data/libstaroffice-0.0.7/src/lib/StarObjectDraw.cxx:454:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (pool && pool->read(zone)) { data/libstaroffice-0.0.7/src/lib/StarObjectModel.cxx:494:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarObjectModel::read(StarZone &zone) data/libstaroffice-0.0.7/src/lib/StarObjectModel.cxx:965:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!pool || !pool->read(zone)) data/libstaroffice-0.0.7/src/lib/StarObjectNumericRuler.cxx:110:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarObjectNumericRuler::read(StarZone &zone) data/libstaroffice-0.0.7/src/lib/StarObjectPageStyle.cxx:76:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone); data/libstaroffice-0.0.7/src/lib/StarObjectPageStyle.cxx:89:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool NoteDesc::read(StarZone &zone) data/libstaroffice-0.0.7/src/lib/StarObjectPageStyle.cxx:167:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, StarObject &object); data/libstaroffice-0.0.7/src/lib/StarObjectPageStyle.cxx:213:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool PageDesc::read(StarZone &zone, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarObjectPageStyle.cxx:271:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). done=desc->read(zone); data/libstaroffice-0.0.7/src/lib/StarObjectPageStyle.cxx:454:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarObjectPageStyle::read(StarZone &zone) data/libstaroffice-0.0.7/src/lib/StarObjectPageStyle.cxx:492:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!desc.read(zone, *this)) data/libstaroffice-0.0.7/src/lib/StarObjectSmallGraphic.cxx:2418:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!smallGraphic->read(zone) || input->tell()>lastPos) { data/libstaroffice-0.0.7/src/lib/StarObjectSmallGraphic.cxx:2480:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!smallGraphic->read(zone, zone.getRecordLastPosition()) || input->tell()>zone.getRecordLastPosition()) { data/libstaroffice-0.0.7/src/lib/StarObjectSmallGraphic.cxx:2707:26: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!smallGraphic->read(zone, lastPos) || input->tell()>lastPos || smallGraphic->m_object.isEmpty()) { data/libstaroffice-0.0.7/src/lib/StarObjectSmallGraphic.cxx:3085:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!smallText->read(zone, lastPos) || input->tell()>lastPos) { data/libstaroffice-0.0.7/src/lib/StarObjectSmallGraphic.cxx:3157:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!smallText->read(zone, lastPos) || N>(lastPos-input->tell())/2 || input->tell()+N*2>lastPos) { data/libstaroffice-0.0.7/src/lib/StarObjectSmallText.cxx:252:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarObjectSmallText::read(StarZone &zone, long lastPos) data/libstaroffice-0.0.7/src/lib/StarObjectSmallText.cxx:295:25: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (ownPool && !pool->read(zone)) { data/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx:1376:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!pool->read(zone)) data/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx:1383:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (model->read(zone)) { data/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx:1723:25: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (pool && pool->read(zone)) { data/libstaroffice-0.0.7/src/lib/StarObjectSpreadsheet.cxx:2371:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!textZone->read(zone, lastPos) || input->tell()>lastPos) { data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:850:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (numericRuler->read(zone)) data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:861:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (pageStyle->read(zone)) data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:927:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (pool && pool->read(zone)) { data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:1007:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). done=table->read(zone, *this); data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:1056:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). done=redline.read(zone); data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:1502:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). done=attrib.read(zone, *this); data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:1509:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). done=mark.read(zone); data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:1539:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). done=redline.read(zone); data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:1636:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (pool && pool->read(zone)) { data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:1649:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!model->read(zone)) { data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:1736:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). done=info.read(zone); data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:1741:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). done=info.read(zone); data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:1746:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). done=info.read(zone); data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:1751:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). done=dbase.read(zone); data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:1770:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). done=layout.read(zone, *this); data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:1788:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). done=stats.read(zone); data/libstaroffice-0.0.7/src/lib/StarObjectText.cxx:1793:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). done=dico.read(zone); data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:471:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:540:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:585:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:640:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:679:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:709:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:742:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:784:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:790:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return StarAttributeUInt::read(zone, vers, endPos, object); data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:902:26: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarPAttributePage::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:929:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarPAttributeColumns::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:968:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarPAttributeFrameHF::read(StarZone &zone, int /*vers*/, long endPos, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:989:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarPAttributePageDesc::read(StarZone &zone, int nVers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:1024:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarPAttributePageHF::read(StarZone &zone, int /*vers*/, long endPos, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:1035:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!smallText->read(zone, endPos) || input->tell()>endPos) { data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:1048:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarPAttributePrint::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarPageAttribute.cxx:1071:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarPAttributeRangeItem::read(StarZone &zone, int vers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:148:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:164:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return StarAttributeUInt::read(zone, vers, endPos, object); data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:286:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:326:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:369:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:406:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:461:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:510:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:556:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:625:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, int vers, long endPos, StarObject &object) final; data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:796:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarPAttributeAdjust::read(StarZone &zone, int vers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:811:35: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarPAttributeBulletNumeric::read(StarZone &zone, int /*vers*/, long endPos, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:848:34: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarPAttributeBulletSimple::read(StarZone &zone, int vers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:854:26: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarPAttributeDrop::read(StarZone &zone, int vers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:877:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarPAttributeHyphen::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:895:33: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarPAttributeLineSpacing::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:914:34: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarPAttributeNumericRuler::read(StarZone &zone, int vers, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarParagraphAttribute.cxx:940:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarPAttributeTabStop::read(StarZone &zone, int /*vers*/, long endPos, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarTable.cxx:76:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(Table &table, StarZone &zone, StarObjectText &object, STOFFBox2i &cPos); data/libstaroffice-0.0.7/src/lib/StarTable.cxx:111:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(Table &table, StarZone &zone, StarObjectText &object, STOFFBox2i &cPos); data/libstaroffice-0.0.7/src/lib/StarTable.cxx:149:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool read(StarZone &zone, StarObjectText &object); data/libstaroffice-0.0.7/src/lib/StarTable.cxx:235:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool TableBox::read(Table &table, StarZone &zone, StarObjectText &object, STOFFBox2i &cPos) data/libstaroffice-0.0.7/src/lib/StarTable.cxx:295:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (line->read(table, zone, object, boxCPos) && input->tell()<=lastPos) { data/libstaroffice-0.0.7/src/lib/StarTable.cxx:367:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool TableLine::read(Table &table, StarZone &zone, StarObjectText &object, STOFFBox2i &cPos) data/libstaroffice-0.0.7/src/lib/StarTable.cxx:422:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (box->read(table, zone, object, boxCPos) && input->tell()<=lastPos) { data/libstaroffice-0.0.7/src/lib/StarTable.cxx:507:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool Table::read(StarZone &zone, StarObjectText &object) data/libstaroffice-0.0.7/src/lib/StarTable.cxx:550:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (redline.read(zone)) data/libstaroffice-0.0.7/src/lib/StarTable.cxx:566:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (line->read(*this, zone, object, cPos)) { data/libstaroffice-0.0.7/src/lib/StarTable.cxx:670:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool StarTable::read(StarZone &zone, StarObjectText &object) data/libstaroffice-0.0.7/src/lib/StarTable.cxx:672:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return m_table->read(zone, object); data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:57:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool Attribute::read(StarZone &zone, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:126:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!attrib.read(zone, object)) { data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:153:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool Bookmark::read(StarZone &zone) data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:227:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!bookmark.read(zone)) { data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:255:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool DatabaseName::read(StarZone &zone) data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:363:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool Dictionary::read(StarZone &zone) data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:415:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool DocStats::read(StarZone &zone) data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:460:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool Macro::read(StarZone &zone) data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:515:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!macro.read(zone)) { data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:540:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool Mark::read(StarZone &zone) data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:575:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool NodeRedline::read(StarZone &zone) data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:612:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool NoteInfo::read(StarZone &zone) data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:719:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool PrintData::read(StarZone &zone) data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:760:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool Redline::read(StarZone &zone) data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:818:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!redline.read(zone)) { data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:878:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool TOX::read(StarZone &zone, StarObject &object) data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:1028:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!tox.read(zone, object)) { data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:1083:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bool TOX51::read(StarZone &zone, StarObject &/*object*/) data/libstaroffice-0.0.7/src/lib/StarWriterStruct.cxx:1180:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (!tox.read(zone, object)) { data/libstaroffice-0.0.7/src/lib/StarZone.cxx:88:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). uint8_t const *data=m_input->read(size_t(sSz), numRead); data/libstaroffice-0.0.7/src/lib/libstaroffice_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); ANALYSIS SUMMARY: Hits = 317 Lines analyzed = 76709 in approximately 2.89 seconds (26505 lines/second) Physical Source Lines of Code (SLOC) = 67187 Hits@level = [0] 118 [1] 229 [2] 66 [3] 5 [4] 17 [5] 0 Hits@level+ = [0+] 435 [1+] 317 [2+] 88 [3+] 22 [4+] 17 [5+] 0 Hits/KSLOC@level+ = [0+] 6.47447 [1+] 4.71817 [2+] 1.30978 [3+] 0.327444 [4+] 0.253025 [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.