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/hdrmerge-0.5+git20200117/src/AboutDialog.cpp
Examining data/hdrmerge-0.5+git20200117/src/AboutDialog.hpp
Examining data/hdrmerge-0.5+git20200117/src/Array2D.hpp
Examining data/hdrmerge-0.5+git20200117/src/Bitmap.cpp
Examining data/hdrmerge-0.5+git20200117/src/Bitmap.hpp
Examining data/hdrmerge-0.5+git20200117/src/BoxBlur.cpp
Examining data/hdrmerge-0.5+git20200117/src/BoxBlur.hpp
Examining data/hdrmerge-0.5+git20200117/src/CFAPattern.hpp
Examining data/hdrmerge-0.5+git20200117/src/DngFloatWriter.cpp
Examining data/hdrmerge-0.5+git20200117/src/DngFloatWriter.hpp
Examining data/hdrmerge-0.5+git20200117/src/DngPropertiesDialog.cpp
Examining data/hdrmerge-0.5+git20200117/src/DngPropertiesDialog.hpp
Examining data/hdrmerge-0.5+git20200117/src/DraggableScrollArea.cpp
Examining data/hdrmerge-0.5+git20200117/src/DraggableScrollArea.hpp
Examining data/hdrmerge-0.5+git20200117/src/EditableMask.cpp
Examining data/hdrmerge-0.5+git20200117/src/EditableMask.hpp
Examining data/hdrmerge-0.5+git20200117/src/ExifTransfer.cpp
Examining data/hdrmerge-0.5+git20200117/src/ExifTransfer.hpp
Examining data/hdrmerge-0.5+git20200117/src/FileSystem.cpp
Examining data/hdrmerge-0.5+git20200117/src/FileSystem.hpp
Examining data/hdrmerge-0.5+git20200117/src/Histogram.hpp
Examining data/hdrmerge-0.5+git20200117/src/Image.cpp
Examining data/hdrmerge-0.5+git20200117/src/Image.hpp
Examining data/hdrmerge-0.5+git20200117/src/ImageIO.cpp
Examining data/hdrmerge-0.5+git20200117/src/ImageIO.hpp
Examining data/hdrmerge-0.5+git20200117/src/ImageStack.cpp
Examining data/hdrmerge-0.5+git20200117/src/ImageStack.hpp
Examining data/hdrmerge-0.5+git20200117/src/Launcher.cpp
Examining data/hdrmerge-0.5+git20200117/src/Launcher.hpp
Examining data/hdrmerge-0.5+git20200117/src/LoadOptionsDialog.cpp
Examining data/hdrmerge-0.5+git20200117/src/LoadOptionsDialog.hpp
Examining data/hdrmerge-0.5+git20200117/src/LoadSaveOptions.hpp
Examining data/hdrmerge-0.5+git20200117/src/Log.hpp
Examining data/hdrmerge-0.5+git20200117/src/MainWindow.cpp
Examining data/hdrmerge-0.5+git20200117/src/MainWindow.hpp
Examining data/hdrmerge-0.5+git20200117/src/PreviewWidget.cpp
Examining data/hdrmerge-0.5+git20200117/src/PreviewWidget.hpp
Examining data/hdrmerge-0.5+git20200117/src/ProgressIndicator.hpp
Examining data/hdrmerge-0.5+git20200117/src/RawParameters.cpp
Examining data/hdrmerge-0.5+git20200117/src/RawParameters.hpp
Examining data/hdrmerge-0.5+git20200117/src/TiffDirectory.cpp
Examining data/hdrmerge-0.5+git20200117/src/TiffDirectory.hpp
Examining data/hdrmerge-0.5+git20200117/src/main.cpp
Examining data/hdrmerge-0.5+git20200117/test/SampleImage.hpp
Examining data/hdrmerge-0.5+git20200117/test/testArray2D.cpp
Examining data/hdrmerge-0.5+git20200117/test/testBitmap.cpp
Examining data/hdrmerge-0.5+git20200117/test/testBoxBlur.cpp
Examining data/hdrmerge-0.5+git20200117/test/testDngFloatWriter.cpp
Examining data/hdrmerge-0.5+git20200117/test/testHistogram.cpp
Examining data/hdrmerge-0.5+git20200117/test/testImageStack.cpp
Examining data/hdrmerge-0.5+git20200117/test/testMain.cpp

FINAL RESULTS:

data/hdrmerge-0.5+git20200117/src/Launcher.cpp:318:40:  [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.
    qtTranslator.load("qt_" + QLocale::system().name(),
data/hdrmerge-0.5+git20200117/src/Launcher.cpp:323:47:  [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.
    appTranslator.load("hdrmerge_" + QLocale::system().name(), ":/translators");
data/hdrmerge-0.5+git20200117/src/DngFloatWriter.cpp:335: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).
        buffer.open(QIODevice::WriteOnly);
data/hdrmerge-0.5+git20200117/src/ExifTransfer.cpp:61:36:  [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).
        dst = Exiv2::ImageFactory::open(BasicIo::AutoPtr(new MemIo(data, dataSize)));
data/hdrmerge-0.5+git20200117/src/ExifTransfer.cpp:68:36:  [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).
        src = Exiv2::ImageFactory::open(srcFile.toLocal8Bit().constData());
data/hdrmerge-0.5+git20200117/src/ExifTransfer.cpp:81: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).
        fileIo.open("wb");
data/hdrmerge-0.5+git20200117/src/RawParameters.cpp:52:58:  [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).
        Exiv2::Image::AutoPtr src = Exiv2::ImageFactory::open(fileName.toLocal8Bit().constData());

ANALYSIS SUMMARY:

Hits = 7
Lines analyzed = 6988 in approximately 0.25 seconds (27959 lines/second)
Physical Source Lines of Code (SLOC) = 5026
Hits@level = [0]   0 [1]   0 [2]   5 [3]   0 [4]   2 [5]   0
Hits@level+ = [0+]   7 [1+]   7 [2+]   7 [3+]   2 [4+]   2 [5+]   0
Hits/KSLOC@level+ = [0+] 1.39276 [1+] 1.39276 [2+] 1.39276 [3+] 0.397931 [4+] 0.397931 [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.