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/osdlyrics-0.5.5~rc2+dfsg1/src/gettext.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_about.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_about.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_app.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_app_chooser_widget.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_app_chooser_widget.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_app_info.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_app_info.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_cell_renderer_button.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_cell_renderer_button.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_color.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_color.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_commands.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_commands.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_config_property.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_config_proxy.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_config_proxy.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_config_updater.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_config_updater.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_consts.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_debug.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_debug.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_display_module.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_display_module.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_eggaccelerators.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_eggaccelerators.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_gui.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_gui.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_gussian_blur.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_gussian_blur.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_image_button.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_image_button.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_intl.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_keybinder.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_keybinder.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_keybinding_settings.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_keybindings.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_keybindings.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_lrc.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_lrc.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_lyric_candidate_list.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_lyric_candidate_list.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_lyric_candidate_selector.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_lyric_candidate_selector.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_lyric_source.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_lyric_source.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_lyric_source_list.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_lyric_source_list.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_lyrics.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_lyrics.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_main.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_marshal.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_marshal.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_md5.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_md5.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_menu.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_menu.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_metadata.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_metadata.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_notify.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_notify.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_option.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_option.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_osd_module.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_osd_module.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_osd_render.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_osd_render.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_osd_toolbar.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_osd_toolbar.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_osd_window.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_osd_window.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_player.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_player.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_player_chooser.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_player_chooser.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_scroll_module.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_scroll_module.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_scroll_window.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_scroll_window.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_search_dialog.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_search_dialog.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_stock.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_stock.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_timeline.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_timeline.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_trayicon.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_trayicon.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils_cmdline.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils_cmdline.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils_dbus.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils_dbus.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils_dcop.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils_dcop.h Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils_network.c Examining data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils_network.h FINAL RESULTS: data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_debug.c:68:3: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf (flog, fmt, ap); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_eggaccelerators.c:404:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (accelerator + l, text_release); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_eggaccelerators.c:409:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (accelerator + l, text_shift); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_eggaccelerators.c:414:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (accelerator + l, text_control); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_eggaccelerators.c:419:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (accelerator + l, text_mod1); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_eggaccelerators.c:424:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (accelerator + l, text_mod2); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_eggaccelerators.c:429:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (accelerator + l, text_mod3); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_eggaccelerators.c:434:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (accelerator + l, text_mod4); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_eggaccelerators.c:439:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (accelerator + l, text_mod5); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_eggaccelerators.c:444:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (accelerator + l, text_meta); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_eggaccelerators.c:449:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (accelerator + l, text_hyper); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_eggaccelerators.c:454:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (accelerator + l, text_super); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_eggaccelerators.c:458:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (accelerator + l, keyval_name); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils_dcop.c:36:17: [4] (shell) popen: 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. FILE *pPipe = popen (cmd, "r"); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.c:282:16: [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. home_dir = g_get_home_dir (); data/osdlyrics-0.5.5~rc2+dfsg1/src/gettext.h:201:3: [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 msg_ctxt_id[msgctxt_len + msgid_len]; data/osdlyrics-0.5.5~rc2+dfsg1/src/gettext.h:203:3: [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[1024]; data/osdlyrics-0.5.5~rc2+dfsg1/src/gettext.h:211:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); data/osdlyrics-0.5.5~rc2+dfsg1/src/gettext.h:213:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); data/osdlyrics-0.5.5~rc2+dfsg1/src/gettext.h:247:3: [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 msg_ctxt_id[msgctxt_len + msgid_len]; data/osdlyrics-0.5.5~rc2+dfsg1/src/gettext.h:249:3: [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[1024]; data/osdlyrics-0.5.5~rc2+dfsg1/src/gettext.h:257:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); data/osdlyrics-0.5.5~rc2+dfsg1/src/gettext.h:259:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_color.c:36:3: [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 colors[3][3] = {{0}}; data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_color.c:64:10: [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. static char ret[10] = ""; data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_debug.c:95:12: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). flog = fopen (logfile, "w"); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_gussian_blur.c:141:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (old_pixels, pixels, sizeof (guint32) * width * height); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_lrc.c:158:20: [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). priv->offset = atoi (offset); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_md5.c:87:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ctx->block + ctx->index, data, length); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_md5.c:93:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ctx->block + ctx->index, data, left); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_md5.c:107:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ctx->block, data, length); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_metadata.c:347:12: [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. static char tmpbuf[100]; data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_option.c:405:7: [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 buffer[24]; data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_option.c:406:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf (buffer, "OSD/lrc-align-%d", i); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_option.c:583:5: [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 expanded_path[BUFFER_SIZE]; data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_option.c:628:10: [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. static char buffer[BUFFER_SIZE] = ""; data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_option.c:719:7: [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 buffer[24]; data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_option.c:720:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf (buffer, "OSD/lrc-align-%d", i); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.c:116:3: [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 buffer[BUFFER_SIZE]; data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.c:312:3: [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 file_name[MAX_PATH_LEN] = ""; data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils.c:341:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf (current, "%02x", (unsigned char)*data); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils_dcop.c:62:16: [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). *returnval = atoi (ret); data/osdlyrics-0.5.5~rc2+dfsg1/src/gettext.h:197:24: [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). size_t msgctxt_len = strlen (msgctxt) + 1; data/osdlyrics-0.5.5~rc2+dfsg1/src/gettext.h:198:22: [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). size_t msgid_len = strlen (msgid) + 1; data/osdlyrics-0.5.5~rc2+dfsg1/src/gettext.h:243:24: [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). size_t msgctxt_len = strlen (msgctxt) + 1; data/osdlyrics-0.5.5~rc2+dfsg1/src/gettext.h:244:22: [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). size_t msgid_len = strlen (msgid) + 1; data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_app_info.c:448: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). binfile += strlen (dirname); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_color.c:31:7: [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 (strlen (color_str) != 7) data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_eggaccelerators.c:224:9: [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). len = strlen (accelerator); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_eggaccelerators.c:396:8: [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). l += strlen (keyval_name); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_metadata.c:339: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). cnt += strlen (metadata->title); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_metadata.c:342: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). cnt += strlen (metadata->artist); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_metadata.c:345: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). cnt += strlen (metadata->album); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_metadata.c:350: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). cnt += strlen (metadata->uri); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_option.c:1522: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). strlen (text), data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_osd_module.c:349:11: [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 (key[strlen (key) - 1] == '1') data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.c:124: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). const char *pat_end = pattern + strlen (pattern); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.c:180: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). append, strlen (append)); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.c:195: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). const char *end = g_utf8_strrchr (uri, strlen (uri), '?'); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.c:197:17: [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). end = uri + strlen (uri); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.c:214: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). const char *end = g_utf8_strrchr (uri, strlen (uri), '?'); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.c:216:17: [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). end = uri + strlen (uri); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.c:223: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). gchar *ext = g_utf8_strrchr (file_name, strlen (uri), '.'); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.c:227: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). char *ret = ol_strnncpy (dest, dest_len, file_name, strlen (file_name)); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.c:257:53: [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). char *ret = ol_strnncpy (dest, dest_len, dirname, strlen (dirname)); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.c:283: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). char *end = ol_strnncpy (filename, len, home_dir, strlen (home_dir)); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.c:287:37: [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). pattern + 1, strlen (pattern + 1)); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_path_pattern.c:293:52: [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). char *end = ol_strnncpy (filename, len, pattern, strlen (pattern)); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils.c:116:13: [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). int len = strlen (str); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils.c:171: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). int len1 = strlen(str1); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils.c:172: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). int len2 = strlen(str2); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils.c:198:12: [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). len[0] = strlen (str1); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils.c:199:12: [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). len[1] = strlen (str2); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils.c:238: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). size_t src_real_len = strlen (src); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils.c:246:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy (dest, src, src_len); data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils.c:300: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). size_t len = strlen (str) - 1; data/osdlyrics-0.5.5~rc2+dfsg1/src/ol_utils.c:335:11: [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). len = strlen (data); ANALYSIS SUMMARY: Hits = 77 Lines analyzed = 25285 in approximately 0.59 seconds (42713 lines/second) Physical Source Lines of Code (SLOC) = 19115 Hits@level = [0] 14 [1] 35 [2] 27 [3] 1 [4] 14 [5] 0 Hits@level+ = [0+] 91 [1+] 77 [2+] 42 [3+] 15 [4+] 14 [5+] 0 Hits/KSLOC@level+ = [0+] 4.76066 [1+] 4.02825 [2+] 2.19723 [3+] 0.784724 [4+] 0.732409 [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.