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/oggvideotools-0.9.1/src/base/mediaRepository.cpp
Examining data/oggvideotools-0.9.1/src/base/oggRingbuffer.cpp
Examining data/oggvideotools-0.9.1/src/base/mediaOutputDecoder.cpp
Examining data/oggvideotools-0.9.1/src/base/test/encoderTest.cpp
Examining data/oggvideotools-0.9.1/src/base/test/decoderTest.cpp
Examining data/oggvideotools-0.9.1/src/base/mediaOutputDecoder.h
Examining data/oggvideotools-0.9.1/src/base/oggPacket.h
Examining data/oggvideotools-0.9.1/src/base/mediaUnit.h
Examining data/oggvideotools-0.9.1/src/base/streamExtractor.h
Examining data/oggvideotools-0.9.1/src/base/mediaInputEncoder.cpp
Examining data/oggvideotools-0.9.1/src/base/bufferRepository.cpp
Examining data/oggvideotools-0.9.1/src/base/mediaConverter.cpp
Examining data/oggvideotools-0.9.1/src/base/fileRepository.cpp
Examining data/oggvideotools-0.9.1/src/base/streamParameter.cpp
Examining data/oggvideotools-0.9.1/src/base/refObject.h
Examining data/oggvideotools-0.9.1/src/base/oggComment.cpp
Examining data/oggvideotools-0.9.1/src/base/mediaConverter.h
Examining data/oggvideotools-0.9.1/src/base/oggDecoder.cpp
Examining data/oggvideotools-0.9.1/src/base/streamConfig.h
Examining data/oggvideotools-0.9.1/src/base/oggEncoder.cpp
Examining data/oggvideotools-0.9.1/src/base/rawMediaPacket.cpp
Examining data/oggvideotools-0.9.1/src/base/oggRingbuffer.h
Examining data/oggvideotools-0.9.1/src/base/mediaInputEncoder.h
Examining data/oggvideotools-0.9.1/src/base/mediaDecoder.cpp
Examining data/oggvideotools-0.9.1/src/base/granulePosInterpreter.cpp
Examining data/oggvideotools-0.9.1/src/base/oggPage.cpp
Examining data/oggvideotools-0.9.1/src/base/oggComment.h
Examining data/oggvideotools-0.9.1/src/base/mediaEncoder.cpp
Examining data/oggvideotools-0.9.1/src/base/oggPacket.cpp
Examining data/oggvideotools-0.9.1/src/base/oggPage.h
Examining data/oggvideotools-0.9.1/src/base/oggStreamDecoder.cpp
Examining data/oggvideotools-0.9.1/src/base/oggStreamEncoder.cpp
Examining data/oggvideotools-0.9.1/src/base/oggTypes.h
Examining data/oggvideotools-0.9.1/src/base/mediaDecoder.h
Examining data/oggvideotools-0.9.1/src/base/fileRepository.h
Examining data/oggvideotools-0.9.1/src/base/oggDecoder.h
Examining data/oggvideotools-0.9.1/src/base/mediaEncoder.h
Examining data/oggvideotools-0.9.1/src/base/oggDecoderFactory.h
Examining data/oggvideotools-0.9.1/src/base/streamParameter.h
Examining data/oggvideotools-0.9.1/src/base/streamExtractor.cpp
Examining data/oggvideotools-0.9.1/src/base/rawMediaPacket.h
Examining data/oggvideotools-0.9.1/src/base/granulePosInterpreter.h
Examining data/oggvideotools-0.9.1/src/base/oggStreamDecoder.h
Examining data/oggvideotools-0.9.1/src/base/oggHeader.h
Examining data/oggvideotools-0.9.1/src/base/oggEncoder.h
Examining data/oggvideotools-0.9.1/src/base/mediaUnit.cpp
Examining data/oggvideotools-0.9.1/src/base/bufferRepository.h
Examining data/oggvideotools-0.9.1/src/base/mediaRepository.h
Examining data/oggvideotools-0.9.1/src/base/oggDecoderFactory.cpp
Examining data/oggvideotools-0.9.1/src/base/oggStreamEncoder.h
Examining data/oggvideotools-0.9.1/src/ovt_vorbis/vorbisExtractor.cpp
Examining data/oggvideotools-0.9.1/src/ovt_vorbis/vorbisExtractor.h
Examining data/oggvideotools-0.9.1/src/ovt_vorbis/vorbisStreamParameter.h
Examining data/oggvideotools-0.9.1/src/ovt_vorbis/vorbisDecoder.h
Examining data/oggvideotools-0.9.1/src/ovt_vorbis/vorbisEncoder.h
Examining data/oggvideotools-0.9.1/src/ovt_vorbis/vorbisHeader.h
Examining data/oggvideotools-0.9.1/src/ovt_vorbis/audioPacket.cpp
Examining data/oggvideotools-0.9.1/src/ovt_vorbis/vorbisStreamParameter.cpp
Examining data/oggvideotools-0.9.1/src/ovt_vorbis/vorbisPosInterpreter.h
Examining data/oggvideotools-0.9.1/src/ovt_vorbis/vorbisPosInterpreter.cpp
Examining data/oggvideotools-0.9.1/src/ovt_vorbis/vorbisDecoder.cpp
Examining data/oggvideotools-0.9.1/src/ovt_vorbis/audioPacket.h
Examining data/oggvideotools-0.9.1/src/ovt_vorbis/vorbisEncoder.cpp
Examining data/oggvideotools-0.9.1/src/effect/pictureBlend.cpp
Examining data/oggvideotools-0.9.1/src/effect/effector.cpp
Examining data/oggvideotools-0.9.1/src/effect/shiftblendEffect.cpp
Examining data/oggvideotools-0.9.1/src/effect/lowpassEffect.cpp
Examining data/oggvideotools-0.9.1/src/effect/pictureBlend.h
Examining data/oggvideotools-0.9.1/src/effect/effectorTypes.h
Examining data/oggvideotools-0.9.1/src/effect/effectorVisitor.h
Examining data/oggvideotools-0.9.1/src/effect/shiftEffect.h
Examining data/oggvideotools-0.9.1/src/effect/basePlane.cpp
Examining data/oggvideotools-0.9.1/src/effect/basePlane.h
Examining data/oggvideotools-0.9.1/src/effect/rgbPlane.cpp
Examining data/oggvideotools-0.9.1/src/effect/pictureResize.cpp
Examining data/oggvideotools-0.9.1/src/effect/blendElement.h
Examining data/oggvideotools-0.9.1/src/effect/plainPicture.cpp
Examining data/oggvideotools-0.9.1/src/effect/lowpassEffect.h
Examining data/oggvideotools-0.9.1/src/effect/crossfader.h
Examining data/oggvideotools-0.9.1/src/effect/rgbPlane.h
Examining data/oggvideotools-0.9.1/src/effect/shiftEffect.cpp
Examining data/oggvideotools-0.9.1/src/effect/pictureResize.h
Examining data/oggvideotools-0.9.1/src/effect/crossfader.cpp
Examining data/oggvideotools-0.9.1/src/effect/shiftblendEffect.h
Examining data/oggvideotools-0.9.1/src/effect/effectorVisitor.cpp
Examining data/oggvideotools-0.9.1/src/effect/kenburnseffect.h
Examining data/oggvideotools-0.9.1/src/effect/plainPicture.h
Examining data/oggvideotools-0.9.1/src/effect/pictureLoader.h
Examining data/oggvideotools-0.9.1/src/effect/blendElement.cpp
Examining data/oggvideotools-0.9.1/src/effect/kenburnseffect.cpp
Examining data/oggvideotools-0.9.1/src/effect/pictureLoader.cpp
Examining data/oggvideotools-0.9.1/src/effect/effectorTypes.cpp
Examining data/oggvideotools-0.9.1/src/effect/effector.h
Examining data/oggvideotools-0.9.1/src/main/audioConverter.cpp
Examining data/oggvideotools-0.9.1/src/main/videoHook.cpp
Examining data/oggvideotools-0.9.1/src/main/videoHook.h
Examining data/oggvideotools-0.9.1/src/main/oggBOSExtractorFactory.h
Examining data/oggvideotools-0.9.1/src/main/cmdlineextractor.cpp
Examining data/oggvideotools-0.9.1/src/main/streamMux.h
Examining data/oggvideotools-0.9.1/src/main/audioHook.h
Examining data/oggvideotools-0.9.1/src/main/streamSerializer.cpp
Examining data/oggvideotools-0.9.1/src/main/audioConverter.h
Examining data/oggvideotools-0.9.1/src/main/hookHandler.h
Examining data/oggvideotools-0.9.1/src/main/cmdlineextractor.h
Examining data/oggvideotools-0.9.1/src/main/audioHook.cpp
Examining data/oggvideotools-0.9.1/src/main/streamSerializer.h
Examining data/oggvideotools-0.9.1/src/main/streamMux.cpp
Examining data/oggvideotools-0.9.1/src/main/hookHandler.cpp
Examining data/oggvideotools-0.9.1/src/main/oggBOSExtractorFactory.cpp
Examining data/oggvideotools-0.9.1/src/ovt_kate/katePosInterpreter.cpp
Examining data/oggvideotools-0.9.1/src/ovt_kate/kateExtractor.cpp
Examining data/oggvideotools-0.9.1/src/ovt_kate/kateStreamParameter.cpp
Examining data/oggvideotools-0.9.1/src/ovt_kate/kateExtractor.h
Examining data/oggvideotools-0.9.1/src/ovt_kate/kateHeader.h
Examining data/oggvideotools-0.9.1/src/ovt_kate/katePosInterpreter.h
Examining data/oggvideotools-0.9.1/src/ovt_kate/kateStreamParameter.h
Examining data/oggvideotools-0.9.1/src/misc/crc.cpp
Examining data/oggvideotools-0.9.1/src/misc/ringbuffer.h
Examining data/oggvideotools-0.9.1/src/misc/helper.cpp
Examining data/oggvideotools-0.9.1/src/misc/helper.h
Examining data/oggvideotools-0.9.1/src/misc/crc.h
Examining data/oggvideotools-0.9.1/src/misc/log.cpp
Examining data/oggvideotools-0.9.1/src/misc/log.h
Examining data/oggvideotools-0.9.1/src/misc/ringbuffer.cpp
Examining data/oggvideotools-0.9.1/src/exception.h
Examining data/oggvideotools-0.9.1/src/libresample/resample.c
Examining data/oggvideotools-0.9.1/src/libresample/config.h
Examining data/oggvideotools-0.9.1/src/libresample/libresample.h
Examining data/oggvideotools-0.9.1/src/libresample/configtemplate.h
Examining data/oggvideotools-0.9.1/src/libresample/resample_defs.h
Examining data/oggvideotools-0.9.1/src/libresample/filterkit.h
Examining data/oggvideotools-0.9.1/src/libresample/filterkit.c
Examining data/oggvideotools-0.9.1/src/libresample/resamplesubs.c
Examining data/oggvideotools-0.9.1/src/ovt_theora/theoraHeader.h
Examining data/oggvideotools-0.9.1/src/ovt_theora/theoraPosInterpreter.h
Examining data/oggvideotools-0.9.1/src/ovt_theora/theoraEncoder.h
Examining data/oggvideotools-0.9.1/src/ovt_theora/theoraDecoder.cpp
Examining data/oggvideotools-0.9.1/src/ovt_theora/theoraExtractor.cpp
Examining data/oggvideotools-0.9.1/src/ovt_theora/theoraEncoder.cpp
Examining data/oggvideotools-0.9.1/src/ovt_theora/theoraStreamParameter.h
Examining data/oggvideotools-0.9.1/src/ovt_theora/theoraPosInterpreter.cpp
Examining data/oggvideotools-0.9.1/src/ovt_theora/theoraExtractor.h
Examining data/oggvideotools-0.9.1/src/ovt_theora/theoraDecoder.h
Examining data/oggvideotools-0.9.1/src/ovt_theora/theoraStreamParameter.cpp
Examining data/oggvideotools-0.9.1/src/th_helper.h
Examining data/oggvideotools-0.9.1/src/wishList.h
Examining data/oggvideotools-0.9.1/src/binaries/oggCat.cpp
Examining data/oggvideotools-0.9.1/src/binaries/oggSplit.cpp
Examining data/oggvideotools-0.9.1/src/binaries/oggJoin.cpp
Examining data/oggvideotools-0.9.1/src/binaries/oggTranscode.cpp
Examining data/oggvideotools-0.9.1/src/binaries/oggDump.cpp
Examining data/oggvideotools-0.9.1/src/binaries/oggCut.cpp
Examining data/oggvideotools-0.9.1/src/binaries/oggLength.cpp
Examining data/oggvideotools-0.9.1/src/binaries/oggSilence.cpp
Examining data/oggvideotools-0.9.1/src/binaries/oggSlideshow.cpp
Examining data/oggvideotools-0.9.1/src/binaries/oggScroll.cpp
Examining data/oggvideotools-0.9.1/src/binaries/oggThumb.cpp
Examining data/oggvideotools-0.9.1/src/theoraVideoPacket.h
Examining data/oggvideotools-0.9.1/src/theoraVideoPacket.cpp
Examining data/oggvideotools-0.9.1/src/videoInfo.h
Examining data/oggvideotools-0.9.1/src/definition.h
Examining data/oggvideotools-0.9.1/src/theoraConfig.h
Examining data/oggvideotools-0.9.1/src/theoraConfig.cpp

FINAL RESULTS:

data/oggvideotools-0.9.1/src/binaries/oggCat.cpp:176:3:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  srand((uint) time(0));
data/oggvideotools-0.9.1/src/binaries/oggCat.cpp:179:17:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
  while ((opt = getopt(argc, argv, "hp:d:q:o:D:s:f:F:N:tC:c:r:x")) != EOF)
data/oggvideotools-0.9.1/src/binaries/oggCut.cpp:120:3:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  srand(time(0));
data/oggvideotools-0.9.1/src/binaries/oggCut.cpp:123:17:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
  while ((opt = getopt(argc, argv, "hi:o:s:e:l:")) != EOF)
data/oggvideotools-0.9.1/src/binaries/oggDump.cpp:158:17:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
  while ((opt = getopt(argc, argv, "hgpl:so:")) != EOF)
data/oggvideotools-0.9.1/src/binaries/oggLength.cpp:52:17:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
  while ((opt = getopt(argc, argv, "hvtVT")) != EOF)
data/oggvideotools-0.9.1/src/binaries/oggScroll.cpp:86:17:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
  while ((opt = getopt(argc, argv, "h")) != EOF)
data/oggvideotools-0.9.1/src/binaries/oggSilence.cpp:83:3:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  srand(time(0));
data/oggvideotools-0.9.1/src/binaries/oggSilence.cpp:86:17:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
  while ((opt = getopt(argc, argv, "ho:d:n:r:l:")) != EOF)
data/oggvideotools-0.9.1/src/binaries/oggSlideshow.cpp:106:3:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  srand(time(0));
data/oggvideotools-0.9.1/src/binaries/oggSlideshow.cpp:111:17:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
  while ((opt = getopt(argc, argv, "hp:f:o:l:d:r:t:s:ec:q:")) != EOF)
data/oggvideotools-0.9.1/src/binaries/oggThumb.cpp:270:17:  [3] (buffer) getopt_long:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
  while ((opt = getopt_long(argc, argv, "hf:t:s:o:n:v:", longOpts, NULL)) != EOF)
data/oggvideotools-0.9.1/src/binaries/oggTranscode.cpp:300:3:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  srand( (int) time(0) );
data/oggvideotools-0.9.1/src/binaries/oggTranscode.cpp:303:18:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
  while ( (opt = getopt(argc, argv, "hs:f:d:tD:c:C:N:F:a:A:q:p:xr:o:Q:") ) != EOF)
data/oggvideotools-0.9.1/src/base/fileRepository.cpp:44:27:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if ((fileDescriptor = fopen(filename.c_str(), "wb")) == 0)
data/oggvideotools-0.9.1/src/base/fileRepository.cpp:51:27:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if ((fileDescriptor = fopen(filename.c_str(), "rb")) == 0)
data/oggvideotools-0.9.1/src/base/oggDecoder.cpp:118: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 starter[5];
data/oggvideotools-0.9.1/src/base/oggHeader.h:29: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    ogg[4];
data/oggvideotools-0.9.1/src/base/oggHeader.h:53: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    typeName[6];
data/oggvideotools-0.9.1/src/base/oggPacket.cpp:46: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(tmp, pkt.packet, pkt.bytes);
data/oggvideotools-0.9.1/src/base/oggPacket.cpp:58: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(tmp_data, data, length);
data/oggvideotools-0.9.1/src/base/oggPacket.cpp:87: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(tmp_data, &data[0], data.size());
data/oggvideotools-0.9.1/src/base/oggPacket.cpp:140: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(tmp, m_oggPacket.packet, m_oggPacket.bytes);
data/oggvideotools-0.9.1/src/base/oggRingbuffer.cpp:71: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 starter[5];
data/oggvideotools-0.9.1/src/base/oggStreamDecoder.cpp:148: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(newPacketPtr, m_tmpSegment.data, m_tmpSegment.length);
data/oggvideotools-0.9.1/src/base/oggStreamDecoder.cpp:150: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(newPacketPtr+m_tmpSegment.length, segmentDataList[i].data, segmentDataList[i].length);
data/oggvideotools-0.9.1/src/base/oggStreamEncoder.cpp:247: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(header->ogg,"OggS",4);
data/oggvideotools-0.9.1/src/base/oggStreamEncoder.cpp:279: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(body+arrayIndex, pkt->data()+m_usedData, cpyLength);
data/oggvideotools-0.9.1/src/binaries/oggCat.cpp:193:50:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      wishList.videoDatarate = CmdlineExtractor::atoi(optarg);
data/oggvideotools-0.9.1/src/binaries/oggCat.cpp:198:50:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      wishList.audioDatarate = CmdlineExtractor::atoi(optarg);
data/oggvideotools-0.9.1/src/binaries/oggCat.cpp:203:49:  [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).
      wishList.videoQuality = CmdlineExtractor::atoi(optarg);
data/oggvideotools-0.9.1/src/binaries/oggCat.cpp:249:52:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      wishList.audioSamplerate = CmdlineExtractor::atoi(optarg);
data/oggvideotools-0.9.1/src/binaries/oggCat.cpp:254:50:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
      wishList.audioChannels = CmdlineExtractor::atoi(optarg);
data/oggvideotools-0.9.1/src/binaries/oggCat.cpp:328: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).
  if (!serializer->open(baseFile)) {
data/oggvideotools-0.9.1/src/binaries/oggCat.cpp:551: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 (!serializer.open(filename)) {
data/oggvideotools-0.9.1/src/binaries/oggCut.cpp:203:25:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if (!streamSerializer.open(inputFile)) {
data/oggvideotools-0.9.1/src/binaries/oggDump.cpp:74: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).
    outStream.open(outFilename.c_str());
data/oggvideotools-0.9.1/src/binaries/oggDump.cpp:76: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 (!serializer.open(file)) {
data/oggvideotools-0.9.1/src/binaries/oggDump.cpp:183:19:  [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).
      dumpLevel = atoi(optarg); // yes, I know the atoi bug
data/oggvideotools-0.9.1/src/binaries/oggDump.cpp:214: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).
    outStream.open(outFilename.c_str());
data/oggvideotools-0.9.1/src/binaries/oggLength.cpp:86:25:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if (!streamSerializer.open(inputFile)) {
data/oggvideotools-0.9.1/src/binaries/oggScroll.cpp:117:25:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  if (!streamSerializer.open(inputFile)) {
data/oggvideotools-0.9.1/src/binaries/oggSilence.cpp:95:36:  [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).
      datarate = CmdlineExtractor::atoi(optarg);
data/oggvideotools-0.9.1/src/binaries/oggSilence.cpp:103:36:  [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).
      channels = CmdlineExtractor::atoi(optarg);
data/oggvideotools-0.9.1/src/binaries/oggSilence.cpp:107:38:  [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).
      samplerate = CmdlineExtractor::atoi(optarg);
data/oggvideotools-0.9.1/src/binaries/oggSilence.cpp:111:34:  [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).
      length = CmdlineExtractor::atoi(optarg);
data/oggvideotools-0.9.1/src/binaries/oggSlideshow.cpp:134:17:  [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).
      quality = atoi(optarg);
data/oggvideotools-0.9.1/src/binaries/oggSlideshow.cpp:138:25:  [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).
      framesPerSecond = atoi(optarg);
data/oggvideotools-0.9.1/src/binaries/oggSlideshow.cpp:150:18:  [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).
      datarate = atoi(optarg);
data/oggvideotools-0.9.1/src/binaries/oggThumb.cpp:409:27:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if (!streamSerializer.open(filename)) {
data/oggvideotools-0.9.1/src/binaries/oggTranscode.cpp:478: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 ( !inStream.open(inputFile) ) {
data/oggvideotools-0.9.1/src/effect/pictureLoader.cpp:47:8:  [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).
  in = fopen(filename.c_str(), "rb");
data/oggvideotools-0.9.1/src/effect/pictureLoader.cpp:204: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(filename.c_str(), "wb");
data/oggvideotools-0.9.1/src/effect/pictureResize.cpp:751: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(retRgbaPlane, pic1RgbaPlane, width*sizeof(uint32));
data/oggvideotools-0.9.1/src/effect/pictureResize.cpp:752: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(retRgbaPlane+width, pic2RgbaPlane, width*sizeof(uint32));
data/oggvideotools-0.9.1/src/libresample/resample.c:61:4:  [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(hp->Imp, cpy->Imp, hp->Nwing * sizeof(float));
data/oggvideotools-0.9.1/src/libresample/resample.c:63:4:  [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(hp->ImpD, cpy->ImpD, hp->Nwing * sizeof(float));
data/oggvideotools-0.9.1/src/libresample/resample.c:68:4:  [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(hp->X, cpy->X, (hp->XSize + hp->Xoff) * sizeof(float));
data/oggvideotools-0.9.1/src/libresample/resample.c:73:4:  [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(hp->Y, cpy->Y, hp->YSize * sizeof(float));
data/oggvideotools-0.9.1/src/main/cmdlineextractor.cpp:203: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).
uint32 CmdlineExtractor::atoi(const std::string& _argument)
data/oggvideotools-0.9.1/src/main/cmdlineextractor.h:56:17:  [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).
  static uint32 atoi(const std::string& _argument);
data/oggvideotools-0.9.1/src/main/streamSerializer.cpp:62: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).
bool StreamSerializer::open(std::string& datasource)
data/oggvideotools-0.9.1/src/main/streamSerializer.cpp:88: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).
bool StreamSerializer::open(MediaRepository* _repository)
data/oggvideotools-0.9.1/src/main/streamSerializer.h:90: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(std::string& datasource);
data/oggvideotools-0.9.1/src/main/streamSerializer.h:91: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(MediaRepository* _repository);
data/oggvideotools-0.9.1/src/misc/helper.cpp:11:7:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  fin.open (filename.c_str());
data/oggvideotools-0.9.1/src/misc/ringbuffer.cpp:105: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(fifo.data()+begin,data.data(),len);
data/oggvideotools-0.9.1/src/misc/ringbuffer.cpp:112: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(fifo.data()+begin,data.data(),part1);
data/oggvideotools-0.9.1/src/misc/ringbuffer.cpp:113: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(fifo.data(),data.data()+part1,part2);
data/oggvideotools-0.9.1/src/misc/ringbuffer.cpp:147:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(data, fifo.data()+end, part1);
data/oggvideotools-0.9.1/src/misc/ringbuffer.cpp:148:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(data+part1, fifo.data(), part2);
data/oggvideotools-0.9.1/src/misc/ringbuffer.cpp:150:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(data, fifo.data()+end, len);
data/oggvideotools-0.9.1/src/ovt_kate/kateHeader.h:21: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   language[16];
data/oggvideotools-0.9.1/src/ovt_kate/kateHeader.h:22: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   category[16];
data/oggvideotools-0.9.1/src/ovt_vorbis/audioPacket.cpp:85: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(pcmData[channel], _dataPtr, length*sizeof(float));
data/oggvideotools-0.9.1/src/ovt_vorbis/vorbisEncoder.cpp:138: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[i], aPacket->getDataOfChannel(i), aPacket->getLength()*sizeof(float));
data/oggvideotools-0.9.1/src/base/fileRepository.cpp:33:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  : MediaRepository(read, "FileRepository"), fileDescriptor(0), filename(""), bunchSize(4096),
data/oggvideotools-0.9.1/src/base/fileRepository.cpp:104:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if (mediaDirection == read) {
data/oggvideotools-0.9.1/src/base/mediaRepository.cpp:26:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  : MediaUnit(MediaUnit::read, std::string("")), repositoryAvailable(false)
data/oggvideotools-0.9.1/src/base/mediaUnit.h:42:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read,
data/oggvideotools-0.9.1/src/binaries/oggDump.cpp:218:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  FileRepository repository(analysisFile, MediaUnit::read);
data/oggvideotools-0.9.1/src/binaries/oggJoin.cpp:114:65:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    newElement->repository = FileRepository(argv[i], MediaUnit::read);
data/oggvideotools-0.9.1/src/binaries/oggScroll.cpp:72:15:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  character = getchar();
data/oggvideotools-0.9.1/src/binaries/oggSplit.cpp:69:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  FileRepository repository(argv[1], MediaUnit::read);
data/oggvideotools-0.9.1/src/main/streamSerializer.cpp:66:58:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  repository = new FileRepository(datasource, MediaUnit::read);

ANALYSIS SUMMARY:

Hits = 85
Lines analyzed = 19398 in approximately 0.45 seconds (42735 lines/second)
Physical Source Lines of Code (SLOC) = 11861
Hits@level = [0]  10 [1]   9 [2]  62 [3]  14 [4]   0 [5]   0
Hits@level+ = [0+]  95 [1+]  85 [2+]  76 [3+]  14 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 8.00944 [1+] 7.16634 [2+] 6.40755 [3+] 1.18034 [4+]   0 [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.