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/gnome-recipes-2.0.2/tests/ingredients-test.c Examining data/gnome-recipes-2.0.2/tests/number.c Examining data/gnome-recipes-2.0.2/tests/ids.c Examining data/gnome-recipes-2.0.2/tests/strv.c Examining data/gnome-recipes-2.0.2/tests/unit.c Examining data/gnome-recipes-2.0.2/data/chefs.db.h Examining data/gnome-recipes-2.0.2/data/recipes.db.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-view.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-styled-text-renderer.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-box.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-box-child.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-icon-box-child.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-notification.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-toggle-pixbuf-renderer.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-margin-container.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-icon-box.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-box.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-types-catalog.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-styled-text-renderer.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-list-view.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-icon-box.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-box-generic.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-tagged-entry.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-box-item.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-entry-focus-hack.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-list-view.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-box-item.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-two-lines-renderer.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-toggle-pixbuf-renderer.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-view-generic.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-box-generic.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-box-child.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-view-generic.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-icon-view.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-icon-view.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-types-catalog.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-margin-container.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-view.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-notification.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-icon-box-child.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-icon-utils.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-entry-focus-hack.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-tagged-entry.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-two-lines-renderer.h Examining data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-icon-utils.c Examining data/gnome-recipes-2.0.2/subprojects/libgd/test-tagged-entry.c Examining data/gnome-recipes-2.0.2/src/gr-unit.c Examining data/gnome-recipes-2.0.2/src/gr-shopping-page.c Examining data/gnome-recipes-2.0.2/src/gr-recipe-importer.h Examining data/gnome-recipes-2.0.2/src/gr-logging.c Examining data/gnome-recipes-2.0.2/src/gr-shopping-page.h Examining data/gnome-recipes-2.0.2/src/gr-ingredient.c Examining data/gnome-recipes-2.0.2/src/gr-window.h Examining data/gnome-recipes-2.0.2/src/gr-recipe-tile.h Examining data/gnome-recipes-2.0.2/src/gr-list-page.c Examining data/gnome-recipes-2.0.2/src/gr-meal.c Examining data/gnome-recipes-2.0.2/src/gr-ingredients-viewer.h Examining data/gnome-recipes-2.0.2/src/gr-diet-row.c Examining data/gnome-recipes-2.0.2/src/gr-number.h Examining data/gnome-recipes-2.0.2/src/gr-unit.h Examining data/gnome-recipes-2.0.2/src/gr-shopping-tile.c Examining data/gnome-recipes-2.0.2/src/gr-image-page.c Examining data/gnome-recipes-2.0.2/src/gr-chef.c Examining data/gnome-recipes-2.0.2/src/gr-image.c Examining data/gnome-recipes-2.0.2/src/gr-ingredients-list.c Examining data/gnome-recipes-2.0.2/src/gr-utils.c Examining data/gnome-recipes-2.0.2/src/gr-appdata.c Examining data/gnome-recipes-2.0.2/src/gr-cooking-page.h Examining data/gnome-recipes-2.0.2/src/gr-recipe-store.c Examining data/gnome-recipes-2.0.2/src/gr-recipe-exporter.h Examining data/gnome-recipes-2.0.2/src/main.c Examining data/gnome-recipes-2.0.2/src/gr-appdata.h Examining data/gnome-recipes-2.0.2/src/gr-cuisine-tile.c Examining data/gnome-recipes-2.0.2/src/gr-recipe-formatter.c Examining data/gnome-recipes-2.0.2/src/gr-recipe-exporter.c Examining data/gnome-recipes-2.0.2/src/gr-spice-row.h Examining data/gnome-recipes-2.0.2/src/gr-recipe-store.h Examining data/gnome-recipes-2.0.2/src/gr-about-dialog.h Examining data/gnome-recipes-2.0.2/src/gr-list-page.h Examining data/gnome-recipes-2.0.2/src/gr-settings.h Examining data/gnome-recipes-2.0.2/src/gr-recipe.c Examining data/gnome-recipes-2.0.2/src/gr-shopping-list-exporter.c Examining data/gnome-recipes-2.0.2/src/gr-query-editor.h Examining data/gnome-recipes-2.0.2/src/gr-app.c Examining data/gnome-recipes-2.0.2/src/gr-shopping-tile.h Examining data/gnome-recipes-2.0.2/src/gr-season.c Examining data/gnome-recipes-2.0.2/src/gr-ingredients-list.h Examining data/gnome-recipes-2.0.2/src/gr-cuisines-page.h Examining data/gnome-recipes-2.0.2/src/gr-cooking-view.c Examining data/gnome-recipes-2.0.2/src/gr-image-page.h Examining data/gnome-recipes-2.0.2/src/gr-number.c Examining data/gnome-recipes-2.0.2/src/gr-season.h Examining data/gnome-recipes-2.0.2/src/gr-meal-row.h Examining data/gnome-recipes-2.0.2/src/gr-cooking-view.h Examining data/gnome-recipes-2.0.2/src/gr-recipe-importer.c Examining data/gnome-recipes-2.0.2/src/gr-logging.h Examining data/gnome-recipes-2.0.2/src/gr-shell-search-provider.h Examining data/gnome-recipes-2.0.2/src/gr-recipes-page.c Examining data/gnome-recipes-2.0.2/src/gr-category-tile.c Examining data/gnome-recipes-2.0.2/src/gr-time-widget.h Examining data/gnome-recipes-2.0.2/src/gr-mail.c Examining data/gnome-recipes-2.0.2/src/gr-image-viewer.h Examining data/gnome-recipes-2.0.2/src/gr-chef-dialog.c Examining data/gnome-recipes-2.0.2/src/gr-about-dialog.c Examining data/gnome-recipes-2.0.2/src/gr-ingredient.h Examining data/gnome-recipes-2.0.2/src/gr-shopping-list-printer.h Examining data/gnome-recipes-2.0.2/src/gr-spice-row.c Examining data/gnome-recipes-2.0.2/src/gr-shopping-list-printer.c Examining data/gnome-recipes-2.0.2/src/gr-settings.c Examining data/gnome-recipes-2.0.2/src/gr-mail.h Examining data/gnome-recipes-2.0.2/src/gr-convert-units.c Examining data/gnome-recipes-2.0.2/src/gr-ingredients-viewer.c Examining data/gnome-recipes-2.0.2/src/gr-edit-page.c Examining data/gnome-recipes-2.0.2/src/gr-diet.c Examining data/gnome-recipes-2.0.2/src/gr-timer.h Examining data/gnome-recipes-2.0.2/src/gr-cuisine-tile.h Examining data/gnome-recipes-2.0.2/src/gr-search-page.c Examining data/gnome-recipes-2.0.2/src/gr-account.h Examining data/gnome-recipes-2.0.2/src/gr-image-viewer.c Examining data/gnome-recipes-2.0.2/src/gr-cuisines-page.c Examining data/gnome-recipes-2.0.2/src/gr-shopping-list-exporter.h Examining data/gnome-recipes-2.0.2/src/gr-recipe.h Examining data/gnome-recipes-2.0.2/src/gr-query-editor.c Examining data/gnome-recipes-2.0.2/src/gr-chef-dialog.h Examining data/gnome-recipes-2.0.2/src/gr-meal.h Examining data/gnome-recipes-2.0.2/src/gr-cuisine.c Examining data/gnome-recipes-2.0.2/src/gr-timer-widget.h Examining data/gnome-recipes-2.0.2/src/gr-cooking-page.c Examining data/gnome-recipes-2.0.2/src/gr-timer-widget.c Examining data/gnome-recipes-2.0.2/src/gr-recipes-page.h Examining data/gnome-recipes-2.0.2/src/gr-app.h Examining data/gnome-recipes-2.0.2/src/gr-chef.h Examining data/gnome-recipes-2.0.2/src/gr-meal-row.c Examining data/gnome-recipes-2.0.2/src/gr-cuisine.h Examining data/gnome-recipes-2.0.2/src/gr-account.c Examining data/gnome-recipes-2.0.2/src/gr-gourmet-format.c Examining data/gnome-recipes-2.0.2/src/gr-recipe-tile.c Examining data/gnome-recipes-2.0.2/src/gr-utils.h Examining data/gnome-recipes-2.0.2/src/gr-details-page.h Examining data/gnome-recipes-2.0.2/src/gr-search-page.h Examining data/gnome-recipes-2.0.2/src/gr-shopping-list-formatter.h Examining data/gnome-recipes-2.0.2/src/gr-chef-tile.c Examining data/gnome-recipes-2.0.2/src/gr-chef-tile.h Examining data/gnome-recipes-2.0.2/src/gr-details-page.c Examining data/gnome-recipes-2.0.2/src/gr-time-widget.c Examining data/gnome-recipes-2.0.2/src/gr-edit-page.h Examining data/gnome-recipes-2.0.2/src/gr-category-tile.h Examining data/gnome-recipes-2.0.2/src/gr-shell-search-provider.c Examining data/gnome-recipes-2.0.2/src/gr-timer.c Examining data/gnome-recipes-2.0.2/src/gr-convert-units.h Examining data/gnome-recipes-2.0.2/src/gr-recipe-printer.c Examining data/gnome-recipes-2.0.2/src/gr-diet.h Examining data/gnome-recipes-2.0.2/src/gr-cuisine-page.c Examining data/gnome-recipes-2.0.2/src/gr-cuisine-page.h Examining data/gnome-recipes-2.0.2/src/gr-image.h Examining data/gnome-recipes-2.0.2/src/gr-window.c Examining data/gnome-recipes-2.0.2/src/gr-ingredients-viewer-row.h Examining data/gnome-recipes-2.0.2/src/gr-gourmet-format.h Examining data/gnome-recipes-2.0.2/src/gr-recipe-printer.h Examining data/gnome-recipes-2.0.2/src/gr-recipe-formatter.h Examining data/gnome-recipes-2.0.2/src/gr-ingredient-row.c Examining data/gnome-recipes-2.0.2/src/gr-ingredient-row.h Examining data/gnome-recipes-2.0.2/src/gr-ingredients-viewer-row.c Examining data/gnome-recipes-2.0.2/src/gr-diet-row.h Examining data/gnome-recipes-2.0.2/src/gr-shopping-list-formatter.c Examining data/gnome-recipes-2.0.2/tools/recipe-extract.c FINAL RESULTS: data/gnome-recipes-2.0.2/src/gr-account.c:141:43: [3] (random) g_random_int_range: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. token = g_strdup_printf ("app%d", g_random_int_range (0, G_MAXINT)); data/gnome-recipes-2.0.2/src/gr-cuisines-page.c:180:23: [3] (random) g_random_int_range: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. pos = g_random_int_range (0, length); data/gnome-recipes-2.0.2/src/gr-mail.c:256:43: [3] (random) g_random_int_range: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. token = g_strdup_printf ("app%d", g_random_int_range (0, G_MAXINT)); data/gnome-recipes-2.0.2/src/gr-recipe-exporter.c:454:54: [3] (buffer) g_get_tmp_dir: This function is synonymous with 'getenv("TMP")';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. exporter->dir = g_mkdtemp (g_build_filename (g_get_tmp_dir (), "recipeXXXXXX", NULL)); data/gnome-recipes-2.0.2/src/gr-recipe-importer.c:858:54: [3] (buffer) g_get_tmp_dir: This function is synonymous with 'getenv("TMP")';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. importer->dir = g_mkdtemp (g_build_filename (g_get_tmp_dir (), "recipeXXXXXX", NULL)); data/gnome-recipes-2.0.2/src/gr-recipes-page.c:304:21: [3] (random) g_random_int_range: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. r = g_random_int_range (0, length); data/gnome-recipes-2.0.2/src/gr-recipes-page.c:418:21: [3] (random) g_random_int_range: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. r = g_random_int_range (0, length); data/gnome-recipes-2.0.2/src/gr-about-dialog.c:207:2: [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 str[256]; data/gnome-recipes-2.0.2/src/gr-app.c:302:9: [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. const char *accelerators[2]; data/gnome-recipes-2.0.2/src/gr-appdata.c:127:63: [2] (integer) atoi: 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). data->ri->date = g_date_time_new_utc (atoi (dmy[0]), atoi (dmy[1]), atoi (dmy[2]), 0, 0, 0); data/gnome-recipes-2.0.2/src/gr-appdata.c:127:78: [2] (integer) atoi: 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). data->ri->date = g_date_time_new_utc (atoi (dmy[0]), atoi (dmy[1]), atoi (dmy[2]), 0, 0, 0); data/gnome-recipes-2.0.2/src/gr-appdata.c:127:93: [2] (integer) atoi: 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). data->ri->date = g_date_time_new_utc (atoi (dmy[0]), atoi (dmy[1]), atoi (dmy[2]), 0, 0, 0); data/gnome-recipes-2.0.2/src/gr-cuisines-page.c:165:34: [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. cuisines[j++] = (char *)all_cuisines[i]; data/gnome-recipes-2.0.2/src/gr-list-page.c:525:15: [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. const char *terms[2]; data/gnome-recipes-2.0.2/src/gr-mail.c:330:15: [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. const char *empty_strv[1] = { NULL }; data/gnome-recipes-2.0.2/src/gr-recipe-formatter.c:191:39: [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. const char *unit_str[2] = { "°C", "°F" }; data/gnome-recipes-2.0.2/src/gr-recipe-formatter.c:206:39: [2] (integer) atoi: 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). num = atoi (p + strlen ("[temperature:")); data/gnome-recipes-2.0.2/src/gr-recipe-formatter.c:233:33: [2] (integer) atoi: 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). image = atoi (p + strlen ("[image:")); data/gnome-recipes-2.0.2/src/gr-recipe-formatter.c:259:62: [2] (integer) atoi: 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). timer = G_TIME_SPAN_MINUTE * atoi (strv[0]) + data/gnome-recipes-2.0.2/src/gr-recipe-formatter.c:260:62: [2] (integer) atoi: 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). G_TIME_SPAN_SECOND * atoi (strv[1]); data/gnome-recipes-2.0.2/src/gr-recipe-formatter.c:263:60: [2] (integer) atoi: 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). timer = G_TIME_SPAN_HOUR * atoi (strv[0]) + data/gnome-recipes-2.0.2/src/gr-recipe-formatter.c:264:62: [2] (integer) atoi: 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). G_TIME_SPAN_MINUTE * atoi (strv[1]) + data/gnome-recipes-2.0.2/src/gr-recipe-formatter.c:265:62: [2] (integer) atoi: 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). G_TIME_SPAN_SECOND * atoi (strv[2]); data/gnome-recipes-2.0.2/src/gr-recipe-store.c:1129:15: [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. const char *argv[6]; data/gnome-recipes-2.0.2/src/gr-recipe-store.c:1656:45: [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. g_hash_table_add (ingreds, (char *)names[i]); data/gnome-recipes-2.0.2/src/gr-recipe-store.c:1852:15: [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. const char **empty[1] = { NULL }; data/gnome-recipes-2.0.2/src/gr-recipe.c:810:33: [2] (integer) atoi: 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). level = atoi (terms[i] + 3); data/gnome-recipes-2.0.2/src/gr-recipe.c:819:33: [2] (integer) atoi: 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). level = atoi (terms[i] + 3); data/gnome-recipes-2.0.2/src/gr-utils.c:543:17: [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 buf[10]; data/gnome-recipes-2.0.2/src/gr-utils.c:818:19: [2] (integer) atoi: 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). if (p && (atoi (p + 1) % 2 == 1)) data/gnome-recipes-2.0.2/tests/number.c:100:22: [2] (tmpfile) tmpfile: Function tmpfile() has a security flaw on some systems (e.g., older System V systems) (CWE-377). char *diff, *tmpfile; data/gnome-recipes-2.0.2/tests/number.c:106:38: [2] (tmpfile) tmpfile: Function tmpfile() has a security flaw on some systems (e.g., older System V systems) (CWE-377). fd = g_file_open_tmp (NULL, &tmpfile, error); data/gnome-recipes-2.0.2/tests/number.c:114:77: [2] (tmpfile) tmpfile: Function tmpfile() has a security flaw on some systems (e.g., older System V systems) (CWE-377). "Could not write data to temporary file '%s'", tmpfile); data/gnome-recipes-2.0.2/tests/number.c:118:22: [2] (tmpfile) tmpfile: Function tmpfile() has a security flaw on some systems (e.g., older System V systems) (CWE-377). command[3] = tmpfile; data/gnome-recipes-2.0.2/tests/number.c:124:19: [2] (tmpfile) tmpfile: Function tmpfile() has a security flaw on some systems (e.g., older System V systems) (CWE-377). g_unlink (tmpfile); data/gnome-recipes-2.0.2/tests/number.c:125:17: [2] (tmpfile) tmpfile: Function tmpfile() has a security flaw on some systems (e.g., older System V systems) (CWE-377). g_free (tmpfile); data/gnome-recipes-2.0.2/src/gr-about-dialog.c:178:26: [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). start += strlen (before); data/gnome-recipes-2.0.2/src/gr-about-dialog.c:291:14: [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 ("app/"); data/gnome-recipes-2.0.2/src/gr-about-dialog.c:310:14: [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 ("runtime/"); data/gnome-recipes-2.0.2/src/gr-cuisine.c:187:25: [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 = q + strlen ("@pkgdatadir@"); data/gnome-recipes-2.0.2/src/gr-details-page.c:347:51: [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). idx = (int)g_ascii_strtoll (uri + strlen ("image:"), NULL, 10); data/gnome-recipes-2.0.2/src/gr-details-page.c:357: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). id = uri + strlen ("recipe:"); data/gnome-recipes-2.0.2/src/gr-edit-page.c:779:45: [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). if (strncmp (text, "[temperature:", strlen ("[temperature:")) != 0) data/gnome-recipes-2.0.2/src/gr-edit-page.c:832:30: [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). tmp = text + strlen ("[temperature:"); data/gnome-recipes-2.0.2/src/gr-number.c:140:44: [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). space_or_nul ((*input)[strlen (vf)])) { data/gnome-recipes-2.0.2/src/gr-number.c:142:35: [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). *input += strlen (vf); data/gnome-recipes-2.0.2/src/gr-number.c:170:49: [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). if (strncmp (p, sup[i], strlen (sup[i])) == 0) { data/gnome-recipes-2.0.2/src/gr-number.c:172:38: [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 (sup[i]); data/gnome-recipes-2.0.2/src/gr-number.c:179:30: [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). if (strncmp (p, "⁄", strlen ("⁄")) != 0) data/gnome-recipes-2.0.2/src/gr-number.c:181:14: [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 ("⁄"); data/gnome-recipes-2.0.2/src/gr-number.c:184:49: [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). if (strncmp (p, sub[i], strlen (sub[i])) == 0) { data/gnome-recipes-2.0.2/src/gr-number.c:186:38: [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 (sub[i]); data/gnome-recipes-2.0.2/src/gr-recipe-formatter.c:206:49: [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). num = atoi (p + strlen ("[temperature:")); data/gnome-recipes-2.0.2/src/gr-recipe-formatter.c:233:43: [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). image = atoi (p + strlen ("[image:")); data/gnome-recipes-2.0.2/src/gr-recipe-formatter.c:251:42: [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). s = strndup (p + strlen ("[timer:"), q - (p + strlen ("[timer:"))); data/gnome-recipes-2.0.2/src/gr-recipe-formatter.c:251:71: [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). s = strndup (p + strlen ("[timer:"), q - (p + strlen ("[timer:"))); data/gnome-recipes-2.0.2/src/gr-recipe-store.c:2154:55: [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). const char *time = search->query[0] + strlen ("ct:"); data/gnome-recipes-2.0.2/src/gr-unit.c:144:78: [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). if (g_str_has_prefix (*input, nu) && space_or_nul ((*input)[strlen (nu)])) { data/gnome-recipes-2.0.2/src/gr-unit.c:145: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). *input += strlen (nu); data/gnome-recipes-2.0.2/src/gr-unit.c:152:78: [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). if (g_str_has_prefix (*input, nu) && space_or_nul ((*input)[strlen (nu)])) { data/gnome-recipes-2.0.2/src/gr-unit.c:153: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). *input += strlen (nu); data/gnome-recipes-2.0.2/src/gr-unit.c:160:78: [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). if (g_str_has_prefix (*input, nu) && space_or_nul ((*input)[strlen (nu)])) { data/gnome-recipes-2.0.2/src/gr-unit.c:161: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). *input += strlen (nu); data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-view.c:329:12: [1] (buffer) equal: 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. gboolean equal; data/gnome-recipes-2.0.2/subprojects/libgd/libgd/gd-main-view.c:355:11: [1] (buffer) equal: 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 (equal) ANALYSIS SUMMARY: Hits = 65 Lines analyzed = 45272 in approximately 1.09 seconds (41441 lines/second) Physical Source Lines of Code (SLOC) = 33576 Hits@level = [0] 4 [1] 29 [2] 29 [3] 7 [4] 0 [5] 0 Hits@level+ = [0+] 69 [1+] 65 [2+] 36 [3+] 7 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 2.05504 [1+] 1.93591 [2+] 1.07219 [3+] 0.208482 [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.