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.