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/blahtexml-0.9/Source/md5.c
Examining data/blahtexml-0.9/Source/md5.h
Examining data/blahtexml-0.9/Source/BlahtexCore/Parser.cpp
Examining data/blahtexml-0.9/Source/BlahtexCore/MacroProcessor.cpp
Examining data/blahtexml-0.9/Source/BlahtexCore/Parser.h
Examining data/blahtexml-0.9/Source/BlahtexCore/Manager.h
Examining data/blahtexml-0.9/Source/BlahtexCore/MathmlNode.cpp
Examining data/blahtexml-0.9/Source/BlahtexCore/LayoutTree.h
Examining data/blahtexml-0.9/Source/BlahtexCore/XmlEncode.cpp
Examining data/blahtexml-0.9/Source/BlahtexCore/Misc.h
Examining data/blahtexml-0.9/Source/BlahtexCore/ParseTree1.cpp
Examining data/blahtexml-0.9/Source/BlahtexCore/ParseTree2.cpp
Examining data/blahtexml-0.9/Source/BlahtexCore/ParseTree3.cpp
Examining data/blahtexml-0.9/Source/BlahtexCore/InputSymbolTranslation.cpp
Examining data/blahtexml-0.9/Source/BlahtexCore/Interface.cpp
Examining data/blahtexml-0.9/Source/BlahtexCore/ParseTree.h
Examining data/blahtexml-0.9/Source/BlahtexCore/Interface.h
Examining data/blahtexml-0.9/Source/BlahtexCore/MacroProcessor.h
Examining data/blahtexml-0.9/Source/BlahtexCore/InputSymbolTranslation.h
Examining data/blahtexml-0.9/Source/BlahtexCore/XmlEncode.h
Examining data/blahtexml-0.9/Source/BlahtexCore/MathmlNode.h
Examining data/blahtexml-0.9/Source/BlahtexCore/Manager.cpp
Examining data/blahtexml-0.9/Source/BlahtexCore/LayoutTree.cpp
Examining data/blahtexml-0.9/Source/Messages.cpp
Examining data/blahtexml-0.9/Source/UnicodeConverter.cpp
Examining data/blahtexml-0.9/Source/md5Wrapper.cpp
Examining data/blahtexml-0.9/Source/BlahtexXMLin/SAX2Output.cpp
Examining data/blahtexml-0.9/Source/BlahtexXMLin/BlahtexFilter.cpp
Examining data/blahtexml-0.9/Source/BlahtexXMLin/XercesString.h
Examining data/blahtexml-0.9/Source/BlahtexXMLin/AttributesImpl.cpp
Examining data/blahtexml-0.9/Source/BlahtexXMLin/SAX2Output.h
Examining data/blahtexml-0.9/Source/BlahtexXMLin/XercesString.cpp
Examining data/blahtexml-0.9/Source/BlahtexXMLin/BlahtexFilter.h
Examining data/blahtexml-0.9/Source/BlahtexXMLin/AttributesImpl.h
Examining data/blahtexml-0.9/Source/md5Wrapper.h
Examining data/blahtexml-0.9/Source/UnicodeConverter.h
Examining data/blahtexml-0.9/Source/mainPng.h
Examining data/blahtexml-0.9/Source/main.cpp
Examining data/blahtexml-0.9/Source/mainPng.cpp

FINAL RESULTS:

data/blahtexml-0.9/Source/mainPng.cpp:97:20:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    bool result = (system(command.c_str()) == 0);
data/blahtexml-0.9/Source/UnicodeConverter.cpp:123: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(inputBuf, input.c_str(), input.size());
data/blahtexml-0.9/Source/mainPng.cpp:84:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[5000];
data/blahtexml-0.9/Source/md5.c:169: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(xbuf, data, 64);
data/blahtexml-0.9/Source/md5.c:343:2:  [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(pms->buf + offset, p, copy);
data/blahtexml-0.9/Source/md5.c:357:2:  [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(pms->buf, p, left);
data/blahtexml-0.9/Source/md5Wrapper.cpp:27:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char buf[16];

ANALYSIS SUMMARY:

Hits = 7
Lines analyzed = 14629 in approximately 0.42 seconds (34792 lines/second)
Physical Source Lines of Code (SLOC) = 10892
Hits@level = [0]   0 [1]   0 [2]   6 [3]   0 [4]   1 [5]   0
Hits@level+ = [0+]   7 [1+]   7 [2+]   7 [3+]   1 [4+]   1 [5+]   0
Hits/KSLOC@level+ = [0+] 0.642674 [1+] 0.642674 [2+] 0.642674 [3+] 0.0918105 [4+] 0.0918105 [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.