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/tumbler-0.3.1/tumbler/tumbler-abstract-thumbnailer.h
Examining data/tumbler-0.3.1/tumbler/tumbler-cache.h
Examining data/tumbler-0.3.1/tumbler/tumbler-cache-plugin.h
Examining data/tumbler-0.3.1/tumbler/tumbler-config.h
Examining data/tumbler-0.3.1/tumbler/tumbler-enum-types.h
Examining data/tumbler-0.3.1/tumbler/tumbler-error.h
Examining data/tumbler-0.3.1/tumbler/tumbler-file-info.h
Examining data/tumbler-0.3.1/tumbler/tumbler-glib-extensions.h
Examining data/tumbler-0.3.1/tumbler/tumbler-marshal.h
Examining data/tumbler-0.3.1/tumbler/tumbler-provider-factory.h
Examining data/tumbler-0.3.1/tumbler/tumbler-provider-plugin.h
Examining data/tumbler-0.3.1/tumbler/tumbler-thumbnailer-provider.h
Examining data/tumbler-0.3.1/tumbler/tumbler-thumbnailer.h
Examining data/tumbler-0.3.1/tumbler/tumbler-thumbnail.h
Examining data/tumbler-0.3.1/tumbler/tumbler-thumbnail-flavor.h
Examining data/tumbler-0.3.1/tumbler/tumbler-util.h
Examining data/tumbler-0.3.1/tumbler/tumbler.h
Examining data/tumbler-0.3.1/tumbler/tumbler-abstract-thumbnailer.c
Examining data/tumbler-0.3.1/tumbler/tumbler-cache.c
Examining data/tumbler-0.3.1/tumbler/tumbler-cache-plugin.c
Examining data/tumbler-0.3.1/tumbler/tumbler-config.c
Examining data/tumbler-0.3.1/tumbler/tumbler-enum-types.c
Examining data/tumbler-0.3.1/tumbler/tumbler-file-info.c
Examining data/tumbler-0.3.1/tumbler/tumbler-marshal.c
Examining data/tumbler-0.3.1/tumbler/tumbler-provider-factory.c
Examining data/tumbler-0.3.1/tumbler/tumbler-provider-plugin.c
Examining data/tumbler-0.3.1/tumbler/tumbler-thumbnailer-provider.c
Examining data/tumbler-0.3.1/tumbler/tumbler-thumbnailer.c
Examining data/tumbler-0.3.1/tumbler/tumbler-thumbnail.c
Examining data/tumbler-0.3.1/tumbler/tumbler-thumbnail-flavor.c
Examining data/tumbler-0.3.1/tumbler/tumbler-util.c
Examining data/tumbler-0.3.1/plugins/cover-thumbnailer/cover-thumbnailer-plugin.c
Examining data/tumbler-0.3.1/plugins/cover-thumbnailer/cover-thumbnailer-provider.c
Examining data/tumbler-0.3.1/plugins/cover-thumbnailer/cover-thumbnailer-provider.h
Examining data/tumbler-0.3.1/plugins/cover-thumbnailer/cover-thumbnailer.c
Examining data/tumbler-0.3.1/plugins/cover-thumbnailer/cover-thumbnailer.h
Examining data/tumbler-0.3.1/plugins/font-thumbnailer/font-thumbnailer-plugin.c
Examining data/tumbler-0.3.1/plugins/font-thumbnailer/font-thumbnailer-provider.c
Examining data/tumbler-0.3.1/plugins/font-thumbnailer/font-thumbnailer-provider.h
Examining data/tumbler-0.3.1/plugins/font-thumbnailer/font-thumbnailer.c
Examining data/tumbler-0.3.1/plugins/font-thumbnailer/font-thumbnailer.h
Examining data/tumbler-0.3.1/plugins/gst-thumbnailer/gst-thumbnailer-plugin.c
Examining data/tumbler-0.3.1/plugins/gst-thumbnailer/gst-thumbnailer-provider.c
Examining data/tumbler-0.3.1/plugins/gst-thumbnailer/gst-thumbnailer-provider.h
Examining data/tumbler-0.3.1/plugins/gst-thumbnailer/gst-thumbnailer.c
Examining data/tumbler-0.3.1/plugins/gst-thumbnailer/gst-thumbnailer.h
Examining data/tumbler-0.3.1/plugins/jpeg-thumbnailer/jpeg-thumbnailer-plugin.c
Examining data/tumbler-0.3.1/plugins/jpeg-thumbnailer/jpeg-thumbnailer-provider.c
Examining data/tumbler-0.3.1/plugins/jpeg-thumbnailer/jpeg-thumbnailer-provider.h
Examining data/tumbler-0.3.1/plugins/jpeg-thumbnailer/jpeg-thumbnailer.c
Examining data/tumbler-0.3.1/plugins/jpeg-thumbnailer/jpeg-thumbnailer.h
Examining data/tumbler-0.3.1/plugins/pixbuf-thumbnailer/pixbuf-thumbnailer-plugin.c
Examining data/tumbler-0.3.1/plugins/pixbuf-thumbnailer/pixbuf-thumbnailer-provider.c
Examining data/tumbler-0.3.1/plugins/pixbuf-thumbnailer/pixbuf-thumbnailer-provider.h
Examining data/tumbler-0.3.1/plugins/pixbuf-thumbnailer/pixbuf-thumbnailer.c
Examining data/tumbler-0.3.1/plugins/pixbuf-thumbnailer/pixbuf-thumbnailer.h
Examining data/tumbler-0.3.1/plugins/ffmpeg-thumbnailer/ffmpeg-thumbnailer-plugin.c
Examining data/tumbler-0.3.1/plugins/ffmpeg-thumbnailer/ffmpeg-thumbnailer-provider.c
Examining data/tumbler-0.3.1/plugins/ffmpeg-thumbnailer/ffmpeg-thumbnailer-provider.h
Examining data/tumbler-0.3.1/plugins/ffmpeg-thumbnailer/ffmpeg-thumbnailer.c
Examining data/tumbler-0.3.1/plugins/ffmpeg-thumbnailer/ffmpeg-thumbnailer.h
Examining data/tumbler-0.3.1/plugins/odf-thumbnailer/odf-thumbnailer-plugin.c
Examining data/tumbler-0.3.1/plugins/odf-thumbnailer/odf-thumbnailer-provider.c
Examining data/tumbler-0.3.1/plugins/odf-thumbnailer/odf-thumbnailer-provider.h
Examining data/tumbler-0.3.1/plugins/odf-thumbnailer/odf-thumbnailer.c
Examining data/tumbler-0.3.1/plugins/odf-thumbnailer/odf-thumbnailer.h
Examining data/tumbler-0.3.1/plugins/poppler-thumbnailer/poppler-thumbnailer-plugin.c
Examining data/tumbler-0.3.1/plugins/poppler-thumbnailer/poppler-thumbnailer-provider.c
Examining data/tumbler-0.3.1/plugins/poppler-thumbnailer/poppler-thumbnailer-provider.h
Examining data/tumbler-0.3.1/plugins/poppler-thumbnailer/poppler-thumbnailer.c
Examining data/tumbler-0.3.1/plugins/poppler-thumbnailer/poppler-thumbnailer.h
Examining data/tumbler-0.3.1/plugins/raw-thumbnailer/raw-thumbnailer-plugin.c
Examining data/tumbler-0.3.1/plugins/raw-thumbnailer/raw-thumbnailer-provider.c
Examining data/tumbler-0.3.1/plugins/raw-thumbnailer/raw-thumbnailer-provider.h
Examining data/tumbler-0.3.1/plugins/raw-thumbnailer/raw-thumbnailer.c
Examining data/tumbler-0.3.1/plugins/raw-thumbnailer/raw-thumbnailer.h
Examining data/tumbler-0.3.1/plugins/desktop-thumbnailer/desktop-thumbnailer-plugin.c
Examining data/tumbler-0.3.1/plugins/desktop-thumbnailer/desktop-thumbnailer-provider.c
Examining data/tumbler-0.3.1/plugins/desktop-thumbnailer/desktop-thumbnailer-provider.h
Examining data/tumbler-0.3.1/plugins/desktop-thumbnailer/desktop-thumbnailer.c
Examining data/tumbler-0.3.1/plugins/desktop-thumbnailer/desktop-thumbnailer.h
Examining data/tumbler-0.3.1/plugins/gepub-thumbnailer/gepub-thumbnailer-plugin.c
Examining data/tumbler-0.3.1/plugins/gepub-thumbnailer/gepub-thumbnailer-provider.c
Examining data/tumbler-0.3.1/plugins/gepub-thumbnailer/gepub-thumbnailer-provider.h
Examining data/tumbler-0.3.1/plugins/gepub-thumbnailer/gepub-thumbnailer.c
Examining data/tumbler-0.3.1/plugins/gepub-thumbnailer/gepub-thumbnailer.h
Examining data/tumbler-0.3.1/plugins/xdg-cache/xdg-cache-cache.c
Examining data/tumbler-0.3.1/plugins/xdg-cache/xdg-cache-cache.h
Examining data/tumbler-0.3.1/plugins/xdg-cache/xdg-cache-plugin.c
Examining data/tumbler-0.3.1/plugins/xdg-cache/xdg-cache-thumbnail.c
Examining data/tumbler-0.3.1/plugins/xdg-cache/xdg-cache-thumbnail.h
Examining data/tumbler-0.3.1/tumblerd/main.c
Examining data/tumbler-0.3.1/tumblerd/tumbler-cache-service.c
Examining data/tumbler-0.3.1/tumblerd/tumbler-cache-service.h
Examining data/tumbler-0.3.1/tumblerd/tumbler-component.c
Examining data/tumbler-0.3.1/tumblerd/tumbler-component.h
Examining data/tumbler-0.3.1/tumblerd/tumbler-lifecycle-manager.c
Examining data/tumbler-0.3.1/tumblerd/tumbler-lifecycle-manager.h
Examining data/tumbler-0.3.1/tumblerd/tumbler-manager.c
Examining data/tumbler-0.3.1/tumblerd/tumbler-manager.h
Examining data/tumbler-0.3.1/tumblerd/tumbler-registry.c
Examining data/tumbler-0.3.1/tumblerd/tumbler-registry.h
Examining data/tumbler-0.3.1/tumblerd/tumbler-scheduler.c
Examining data/tumbler-0.3.1/tumblerd/tumbler-scheduler.h
Examining data/tumbler-0.3.1/tumblerd/tumbler-service.c
Examining data/tumbler-0.3.1/tumblerd/tumbler-service.h
Examining data/tumbler-0.3.1/tumblerd/tumbler-specialized-thumbnailer.c
Examining data/tumbler-0.3.1/tumblerd/tumbler-specialized-thumbnailer.h
Examining data/tumbler-0.3.1/tumblerd/tumbler-lifo-scheduler.c
Examining data/tumbler-0.3.1/tumblerd/tumbler-lifo-scheduler.h
Examining data/tumbler-0.3.1/tumblerd/tumbler-group-scheduler.h
Examining data/tumbler-0.3.1/tumblerd/tumbler-utils.h
Examining data/tumbler-0.3.1/tumblerd/tumbler-manager-gdbus.c
Examining data/tumbler-0.3.1/tumblerd/tumbler-manager-gdbus.h
Examining data/tumbler-0.3.1/tumblerd/tumbler-service-gdbus.c
Examining data/tumbler-0.3.1/tumblerd/tumbler-service-gdbus.h
Examining data/tumbler-0.3.1/tumblerd/tumbler-cache-service-gdbus.h
Examining data/tumbler-0.3.1/tumblerd/tumbler-cache-service-gdbus.c
Examining data/tumbler-0.3.1/tumblerd/tumbler-group-scheduler.c

FINAL RESULTS:

data/tumbler-0.3.1/tumblerd/main.c:113:43:  [3] (buffer) g_get_home_dir:
  This function is synonymous with 'getenv("HOME")';it returns untrustable
  input if the environment can beset by an attacker. It can have any content
  and length, and the same variable can be set more than once (CWE-807,
  CWE-20). Check environment variables carefully before using them.
              buf = g_string_append (buf, g_get_home_dir ());
data/tumbler-0.3.1/plugins/desktop-thumbnailer/desktop-thumbnailer.c:311:14:  [2] (tmpfile) tmpfile:
  Function tmpfile() has a security flaw on some systems (e.g., older System
  V systems) (CWE-377).
  GFile     *tmpfile;
data/tumbler-0.3.1/plugins/desktop-thumbnailer/desktop-thumbnailer.c:326:18:  [2] (tmpfile) tmpfile:
  Function tmpfile() has a security flaw on some systems (e.g., older System
  V systems) (CWE-377).
  if ( G_LIKELY (tmpfile) )
data/tumbler-0.3.1/plugins/desktop-thumbnailer/desktop-thumbnailer.c:328:38:  [2] (tmpfile) tmpfile:
  Function tmpfile() has a security flaw on some systems (e.g., older System
  V systems) (CWE-377).
      tmpfilepath = g_file_get_path (tmpfile);
data/tumbler-0.3.1/plugins/desktop-thumbnailer/desktop-thumbnailer.c:372:23:  [2] (tmpfile) tmpfile:
  Function tmpfile() has a security flaw on some systems (e.g., older System
  V systems) (CWE-377).
      g_object_unref (tmpfile);
data/tumbler-0.3.1/plugins/jpeg-thumbnailer/jpeg-thumbnailer.c:842:12:  [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).
      fd = open (path, O_RDONLY);
data/tumbler-0.3.1/plugins/xdg-cache/xdg-cache-cache.c:729:40:  [2] (integer) atol:
  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).
                              *mtime = atol (text_ptr[i].text);
data/tumbler-0.3.1/plugins/cover-thumbnailer/cover-thumbnailer-plugin.c:51:16:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  const gchar *mismatch;
data/tumbler-0.3.1/plugins/cover-thumbnailer/cover-thumbnailer-plugin.c:57:19:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  if (G_UNLIKELY (mismatch != NULL))
data/tumbler-0.3.1/plugins/cover-thumbnailer/cover-thumbnailer-plugin.c:59:45:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
      g_warning (_("Version mismatch: %s"), mismatch);
data/tumbler-0.3.1/plugins/cover-thumbnailer/cover-thumbnailer.c:504:31:  [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).
  title = g_string_sized_new (strlen (basename));
data/tumbler-0.3.1/plugins/cover-thumbnailer/cover-thumbnailer.c:582:16:  [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).
          p += strlen (needle);
data/tumbler-0.3.1/plugins/cover-thumbnailer/cover-thumbnailer.c:601:28:  [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).
                  url_part[strlen (url_part) - 4] = '\0';
data/tumbler-0.3.1/plugins/desktop-thumbnailer/desktop-thumbnailer-plugin.c:49:16:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  const gchar *mismatch;
data/tumbler-0.3.1/plugins/desktop-thumbnailer/desktop-thumbnailer-plugin.c:54:19:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  if (G_UNLIKELY (mismatch != NULL))
data/tumbler-0.3.1/plugins/desktop-thumbnailer/desktop-thumbnailer-plugin.c:56:45:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
      g_warning (_("Version mismatch: %s"), mismatch);
data/tumbler-0.3.1/plugins/ffmpeg-thumbnailer/ffmpeg-thumbnailer-plugin.c:51:16:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  const gchar *mismatch;
data/tumbler-0.3.1/plugins/ffmpeg-thumbnailer/ffmpeg-thumbnailer-plugin.c:56:19:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  if (G_UNLIKELY (mismatch != NULL))
data/tumbler-0.3.1/plugins/ffmpeg-thumbnailer/ffmpeg-thumbnailer-plugin.c:58:45:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
      g_warning (_("Version mismatch: %s"), mismatch);
data/tumbler-0.3.1/plugins/font-thumbnailer/font-thumbnailer-plugin.c:50:16:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  const gchar *mismatch;
data/tumbler-0.3.1/plugins/font-thumbnailer/font-thumbnailer-plugin.c:55:19:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  if (G_UNLIKELY (mismatch != NULL))
data/tumbler-0.3.1/plugins/font-thumbnailer/font-thumbnailer-plugin.c:57:45:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
      g_warning (_("Version mismatch: %s"), mismatch);
data/tumbler-0.3.1/plugins/gepub-thumbnailer/gepub-thumbnailer-plugin.c:51:16:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  const gchar *mismatch;
data/tumbler-0.3.1/plugins/gepub-thumbnailer/gepub-thumbnailer-plugin.c:57:19:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  if (G_UNLIKELY (mismatch != NULL))
data/tumbler-0.3.1/plugins/gepub-thumbnailer/gepub-thumbnailer-plugin.c:59:45:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
      g_warning (_("Version mismatch: %s"), mismatch);
data/tumbler-0.3.1/plugins/gst-thumbnailer/gst-thumbnailer-plugin.c:52:16:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  const gchar *mismatch;
data/tumbler-0.3.1/plugins/gst-thumbnailer/gst-thumbnailer-plugin.c:57:19:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  if (G_UNLIKELY (mismatch != NULL))
data/tumbler-0.3.1/plugins/gst-thumbnailer/gst-thumbnailer-plugin.c:59:45:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
      g_warning (_("Version mismatch: %s"), mismatch);
data/tumbler-0.3.1/plugins/jpeg-thumbnailer/jpeg-thumbnailer-plugin.c:50:16:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  const gchar *mismatch;
data/tumbler-0.3.1/plugins/jpeg-thumbnailer/jpeg-thumbnailer-plugin.c:55:19:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  if (G_UNLIKELY (mismatch != NULL))
data/tumbler-0.3.1/plugins/jpeg-thumbnailer/jpeg-thumbnailer-plugin.c:57:45:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
      g_warning (_("Version mismatch: %s"), mismatch);
data/tumbler-0.3.1/plugins/odf-thumbnailer/odf-thumbnailer-plugin.c:51:16:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  const gchar *mismatch;
data/tumbler-0.3.1/plugins/odf-thumbnailer/odf-thumbnailer-plugin.c:57:19:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  if (G_UNLIKELY (mismatch != NULL))
data/tumbler-0.3.1/plugins/odf-thumbnailer/odf-thumbnailer-plugin.c:59:45:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
      g_warning (_("Version mismatch: %s"), mismatch);
data/tumbler-0.3.1/plugins/pixbuf-thumbnailer/pixbuf-thumbnailer-plugin.c:50:16:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  const gchar *mismatch;
data/tumbler-0.3.1/plugins/pixbuf-thumbnailer/pixbuf-thumbnailer-plugin.c:55:19:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  if (G_UNLIKELY (mismatch != NULL))
data/tumbler-0.3.1/plugins/pixbuf-thumbnailer/pixbuf-thumbnailer-plugin.c:57:45:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
      g_warning (_("Version mismatch: %s"), mismatch);
data/tumbler-0.3.1/plugins/poppler-thumbnailer/poppler-thumbnailer-plugin.c:50:16:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  const gchar *mismatch;
data/tumbler-0.3.1/plugins/poppler-thumbnailer/poppler-thumbnailer-plugin.c:55:19:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  if (G_UNLIKELY (mismatch != NULL))
data/tumbler-0.3.1/plugins/poppler-thumbnailer/poppler-thumbnailer-plugin.c:57:45:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
      g_warning (_("Version mismatch: %s"), mismatch);
data/tumbler-0.3.1/plugins/raw-thumbnailer/raw-thumbnailer-plugin.c:50:16:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  const gchar *mismatch;
data/tumbler-0.3.1/plugins/raw-thumbnailer/raw-thumbnailer-plugin.c:55:19:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  if (G_UNLIKELY (mismatch != NULL))
data/tumbler-0.3.1/plugins/raw-thumbnailer/raw-thumbnailer-plugin.c:57:45:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
      g_warning (_("Version mismatch: %s"), mismatch);
data/tumbler-0.3.1/plugins/xdg-cache/xdg-cache-cache.c:464:76:  [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).
                              to_uri = g_build_filename (to_uris[n], uri + strlen (from_uris[n]), NULL);
data/tumbler-0.3.1/plugins/xdg-cache/xdg-cache-plugin.c:45:16:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  const gchar *mismatch;
data/tumbler-0.3.1/plugins/xdg-cache/xdg-cache-plugin.c:50:19:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  if (G_UNLIKELY (mismatch != NULL))
data/tumbler-0.3.1/plugins/xdg-cache/xdg-cache-plugin.c:52:45:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
      g_warning (_("Version mismatch: %s"), mismatch);
data/tumbler-0.3.1/tumbler/tumbler-provider-factory.c:283:36:  [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).
      name = g_strndup (type_name, strlen (type_name) - 8);
data/tumbler-0.3.1/tumblerd/main.c:97:29:  [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).
  buf = g_string_sized_new (strlen (command));

ANALYSIS SUMMARY:

Hits = 49
Lines analyzed = 28309 in approximately 0.62 seconds (45572 lines/second)
Physical Source Lines of Code (SLOC) = 18009
Hits@level = [0]   0 [1]  42 [2]   6 [3]   1 [4]   0 [5]   0
Hits@level+ = [0+]  49 [1+]  49 [2+]   7 [3+]   1 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 2.72086 [1+] 2.72086 [2+] 0.388695 [3+] 0.0555278 [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.