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/qt-gstreamer-1.2.0/codegen/generator.cpp
Examining data/qt-gstreamer-1.2.0/codegen/generator.h
Examining data/qt-gstreamer-1.2.0/codegen/yystype.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/autotest.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/delegates/basedelegate.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/delegates/basedelegate.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/delegates/qtquick2videosinkdelegate.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/delegates/qtquick2videosinkdelegate.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/delegates/qtvideosinkdelegate.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/delegates/qtvideosinkdelegate.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/delegates/qwidgetvideosinkdelegate.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/delegates/qwidgetvideosinkdelegate.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/gstqtglvideosink.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/gstqtglvideosink.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/gstqtglvideosinkbase.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/gstqtglvideosinkbase.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/gstqtquick2videosink.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/gstqtquick2videosink.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/gstqtvideosink.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/gstqtvideosink.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/gstqtvideosinkbase.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/gstqtvideosinkbase.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/gstqtvideosinkplugin.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/gstqtvideosinkplugin.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/gstqwidgetvideosink.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/gstqwidgetvideosink.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/painters/abstractsurfacepainter.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/painters/genericsurfacepainter.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/painters/genericsurfacepainter.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/painters/openglsurfacepainter.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/painters/openglsurfacepainter.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/painters/videomaterial.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/painters/videomaterial.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/painters/videonode.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/painters/videonode.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/utils/bufferformat.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/utils/bufferformat.h
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/utils/utils.cpp
Examining data/qt-gstreamer-1.2.0/elements/gstqtvideosink/utils/utils.h
Examining data/qt-gstreamer-1.2.0/examples/appsink-src/main.cpp
Examining data/qt-gstreamer-1.2.0/examples/player/main.cpp
Examining data/qt-gstreamer-1.2.0/examples/player/mediaapp.cpp
Examining data/qt-gstreamer-1.2.0/examples/player/mediaapp.h
Examining data/qt-gstreamer-1.2.0/examples/player/player.cpp
Examining data/qt-gstreamer-1.2.0/examples/player/player.h
Examining data/qt-gstreamer-1.2.0/examples/qmlplayer/main.cpp
Examining data/qt-gstreamer-1.2.0/examples/qmlplayer/player.cpp
Examining data/qt-gstreamer-1.2.0/examples/qmlplayer/player.h
Examining data/qt-gstreamer-1.2.0/examples/qmlplayer2/main.cpp
Examining data/qt-gstreamer-1.2.0/examples/qmlplayer2/player.cpp
Examining data/qt-gstreamer-1.2.0/examples/qmlplayer2/player.h
Examining data/qt-gstreamer-1.2.0/examples/recorder/main.cpp
Examining data/qt-gstreamer-1.2.0/examples/voip/main.cpp
Examining data/qt-gstreamer-1.2.0/src/QGlib/emitimpl.h
Examining data/qt-gstreamer-1.2.0/src/QGlib/error.cpp
Examining data/qt-gstreamer-1.2.0/src/QGlib/error.h
Examining data/qt-gstreamer-1.2.0/src/QGlib/gen.cpp
Examining data/qt-gstreamer-1.2.0/src/QGlib/global.h
Examining data/qt-gstreamer-1.2.0/src/QGlib/init.cpp
Examining data/qt-gstreamer-1.2.0/src/QGlib/init.h
Examining data/qt-gstreamer-1.2.0/src/QGlib/object.cpp
Examining data/qt-gstreamer-1.2.0/src/QGlib/object.h
Examining data/qt-gstreamer-1.2.0/src/QGlib/paramspec.cpp
Examining data/qt-gstreamer-1.2.0/src/QGlib/paramspec.h
Examining data/qt-gstreamer-1.2.0/src/QGlib/qglib_signal.h
Examining data/qt-gstreamer-1.2.0/src/QGlib/quark.cpp
Examining data/qt-gstreamer-1.2.0/src/QGlib/quark.h
Examining data/qt-gstreamer-1.2.0/src/QGlib/signal.cpp
Examining data/qt-gstreamer-1.2.0/src/QGlib/string_p.h
Examining data/qt-gstreamer-1.2.0/src/QGlib/type.cpp
Examining data/qt-gstreamer-1.2.0/src/QGlib/type.h
Examining data/qt-gstreamer-1.2.0/src/QGlib/wrap.cpp
Examining data/qt-gstreamer-1.2.0/src/QGlib/wrap.h
Examining data/qt-gstreamer-1.2.0/src/QGlib/connect.cpp
Examining data/qt-gstreamer-1.2.0/src/QGlib/connect.h
Examining data/qt-gstreamer-1.2.0/src/QGlib/connectimpl.h
Examining data/qt-gstreamer-1.2.0/src/QGlib/refpointer.h
Examining data/qt-gstreamer-1.2.0/src/QGlib/value.cpp
Examining data/qt-gstreamer-1.2.0/src/QGlib/value.h
Examining data/qt-gstreamer-1.2.0/src/QGst/Quick/global.h
Examining data/qt-gstreamer-1.2.0/src/QGst/Quick/videoitem.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/Quick/videoitem.h
Examining data/qt-gstreamer-1.2.0/src/QGst/Quick/videosurface.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/Quick/videosurface.h
Examining data/qt-gstreamer-1.2.0/src/QGst/Quick/videosurface_p.h
Examining data/qt-gstreamer-1.2.0/src/QGst/Ui/global.h
Examining data/qt-gstreamer-1.2.0/src/QGst/Ui/graphicsvideosurface.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/Ui/graphicsvideosurface.h
Examining data/qt-gstreamer-1.2.0/src/QGst/Ui/graphicsvideosurface_p.h
Examining data/qt-gstreamer-1.2.0/src/QGst/Ui/graphicsvideowidget.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/Ui/graphicsvideowidget.h
Examining data/qt-gstreamer-1.2.0/src/QGst/Ui/videowidget.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/Ui/videowidget.h
Examining data/qt-gstreamer-1.2.0/src/QGst/Utils/applicationsink.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/Utils/applicationsink.h
Examining data/qt-gstreamer-1.2.0/src/QGst/Utils/applicationsource.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/Utils/applicationsource.h
Examining data/qt-gstreamer-1.2.0/src/QGst/Utils/global.h
Examining data/qt-gstreamer-1.2.0/src/QGst/allocator.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/allocator.h
Examining data/qt-gstreamer-1.2.0/src/QGst/bin.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/bin.h
Examining data/qt-gstreamer-1.2.0/src/QGst/buffer.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/buffer.h
Examining data/qt-gstreamer-1.2.0/src/QGst/bufferlist.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/bufferlist.h
Examining data/qt-gstreamer-1.2.0/src/QGst/bus.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/bus.h
Examining data/qt-gstreamer-1.2.0/src/QGst/caps.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/caps.h
Examining data/qt-gstreamer-1.2.0/src/QGst/childproxy.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/childproxy.h
Examining data/qt-gstreamer-1.2.0/src/QGst/clock.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/clock.h
Examining data/qt-gstreamer-1.2.0/src/QGst/clocktime.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/clocktime.h
Examining data/qt-gstreamer-1.2.0/src/QGst/colorbalance.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/colorbalance.h
Examining data/qt-gstreamer-1.2.0/src/QGst/discoverer.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/discoverer.h
Examining data/qt-gstreamer-1.2.0/src/QGst/element.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/element.h
Examining data/qt-gstreamer-1.2.0/src/QGst/elementfactory.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/elementfactory.h
Examining data/qt-gstreamer-1.2.0/src/QGst/enums.h
Examining data/qt-gstreamer-1.2.0/src/QGst/event.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/event.h
Examining data/qt-gstreamer-1.2.0/src/QGst/gen.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/ghostpad.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/ghostpad.h
Examining data/qt-gstreamer-1.2.0/src/QGst/global.h
Examining data/qt-gstreamer-1.2.0/src/QGst/init.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/init.h
Examining data/qt-gstreamer-1.2.0/src/QGst/memory.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/memory.h
Examining data/qt-gstreamer-1.2.0/src/QGst/message.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/message.h
Examining data/qt-gstreamer-1.2.0/src/QGst/miniobject.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/miniobject.h
Examining data/qt-gstreamer-1.2.0/src/QGst/object.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/object.h
Examining data/qt-gstreamer-1.2.0/src/QGst/objectstore.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/objectstore_p.h
Examining data/qt-gstreamer-1.2.0/src/QGst/pad.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/pad.h
Examining data/qt-gstreamer-1.2.0/src/QGst/parse.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/parse.h
Examining data/qt-gstreamer-1.2.0/src/QGst/pipeline.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/pipeline.h
Examining data/qt-gstreamer-1.2.0/src/QGst/pluginfeature.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/pluginfeature.h
Examining data/qt-gstreamer-1.2.0/src/QGst/query.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/query.h
Examining data/qt-gstreamer-1.2.0/src/QGst/sample.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/sample.h
Examining data/qt-gstreamer-1.2.0/src/QGst/segment.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/segment.h
Examining data/qt-gstreamer-1.2.0/src/QGst/streamvolume.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/streamvolume.h
Examining data/qt-gstreamer-1.2.0/src/QGst/structs.h
Examining data/qt-gstreamer-1.2.0/src/QGst/structure.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/structure.h
Examining data/qt-gstreamer-1.2.0/src/QGst/taglist.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/taglist.h
Examining data/qt-gstreamer-1.2.0/src/QGst/urihandler.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/urihandler.h
Examining data/qt-gstreamer-1.2.0/src/QGst/value.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/videoorientation.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/videoorientation.h
Examining data/qt-gstreamer-1.2.0/src/QGst/videooverlay.cpp
Examining data/qt-gstreamer-1.2.0/src/QGst/videooverlay.h
Examining data/qt-gstreamer-1.2.0/src/qml/quick1/plugin.cpp
Examining data/qt-gstreamer-1.2.0/src/qml/quick1/videoitem.cpp
Examining data/qt-gstreamer-1.2.0/src/qml/quick1/videoitem.h
Examining data/qt-gstreamer-1.2.0/src/qml/quick2/plugin.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/allocatortest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/buffertest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/bustest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/capstest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/childproxytest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/clocktest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/discoverertest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/eventtest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/memorytest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/messagetest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/padtest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/parsetest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/propertiestest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/qgsttest.h
Examining data/qt-gstreamer-1.2.0/tests/auto/querytest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/refpointertest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/signalstest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/structstest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/structuretest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/taglisttest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/urihandlertest.cpp
Examining data/qt-gstreamer-1.2.0/tests/auto/valuetest.cpp
Examining data/qt-gstreamer-1.2.0/tests/manual/qwidgetvideosinktest.cpp
Examining data/qt-gstreamer-1.2.0/tests/manual/videoorientationtest.cpp
Examining data/qt-gstreamer-1.2.0/tests/manual/videowidgetpipelinetest.cpp
Examining data/qt-gstreamer-1.2.0/tests/manual/videowidgettest.cpp

FINAL RESULTS:

data/qt-gstreamer-1.2.0/tests/auto/allocatortest.cpp:68:24:  [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.
    QGst::AllocatorPtr system(QGst::Allocator::getSystemMemory());
data/qt-gstreamer-1.2.0/tests/auto/allocatortest.cpp:69:13:  [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.
    QVERIFY(system);
data/qt-gstreamer-1.2.0/tests/auto/allocatortest.cpp:70:52:  [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.
    QCOMPARE(g_system, static_cast<GstAllocator *>(system));
data/qt-gstreamer-1.2.0/codegen/generator.cpp:85:21:  [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 *fp = std::fopen(QFile::encodeName(fileName), "r");
data/qt-gstreamer-1.2.0/examples/player/mediaapp.cpp:71: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).
void MediaApp::open()
data/qt-gstreamer-1.2.0/examples/player/mediaapp.cpp:219:42:  [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).
                              this, SLOT(open()), btnLayout);
data/qt-gstreamer-1.2.0/examples/player/mediaapp.h:43: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).
    void open();
data/qt-gstreamer-1.2.0/examples/qmlplayer/player.cpp:51:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
void Player::open()
data/qt-gstreamer-1.2.0/examples/qmlplayer/player.h:37: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).
    void open();
data/qt-gstreamer-1.2.0/src/QGst/structs.h:37:29:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        inline Fourcc(const char str[4])

ANALYSIS SUMMARY:

Hits = 10
Lines analyzed = 30835 in approximately 0.77 seconds (40219 lines/second)
Physical Source Lines of Code (SLOC) = 20239
Hits@level = [0]   0 [1]   0 [2]   7 [3]   0 [4]   3 [5]   0
Hits@level+ = [0+]  10 [1+]  10 [2+]  10 [3+]   3 [4+]   3 [5+]   0
Hits/KSLOC@level+ = [0+] 0.494096 [1+] 0.494096 [2+] 0.494096 [3+] 0.148229 [4+] 0.148229 [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.