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/transmission-remote-gtk-1.4.1/extern/rss-glib/rss-document-private.h Examining data/transmission-remote-gtk-1.4.1/extern/rss-glib/rss-document.c Examining data/transmission-remote-gtk-1.4.1/extern/rss-glib/rss-document.h Examining data/transmission-remote-gtk-1.4.1/extern/rss-glib/rss-glib.h Examining data/transmission-remote-gtk-1.4.1/extern/rss-glib/rss-item-private.h Examining data/transmission-remote-gtk-1.4.1/extern/rss-glib/rss-item.c Examining data/transmission-remote-gtk-1.4.1/extern/rss-glib/rss-item.h Examining data/transmission-remote-gtk-1.4.1/extern/rss-glib/rss-parser-private.h Examining data/transmission-remote-gtk-1.4.1/extern/rss-glib/rss-parser.c Examining data/transmission-remote-gtk-1.4.1/extern/rss-glib/rss-parser.h Examining data/transmission-remote-gtk-1.4.1/extern/rss-glib/rss-version.h Examining data/transmission-remote-gtk-1.4.1/src/bencode.c Examining data/transmission-remote-gtk-1.4.1/src/bencode.h Examining data/transmission-remote-gtk-1.4.1/src/hig.c Examining data/transmission-remote-gtk-1.4.1/src/hig.h Examining data/transmission-remote-gtk-1.4.1/src/icon-turtle.h Examining data/transmission-remote-gtk-1.4.1/src/icons.c Examining data/transmission-remote-gtk-1.4.1/src/icons.h Examining data/transmission-remote-gtk-1.4.1/src/json.c Examining data/transmission-remote-gtk-1.4.1/src/json.h Examining data/transmission-remote-gtk-1.4.1/src/main.c Examining data/transmission-remote-gtk-1.4.1/src/protocol-constants.h Examining data/transmission-remote-gtk-1.4.1/src/remote-exec.c Examining data/transmission-remote-gtk-1.4.1/src/remote-exec.h Examining data/transmission-remote-gtk-1.4.1/src/requests.c Examining data/transmission-remote-gtk-1.4.1/src/requests.h Examining data/transmission-remote-gtk-1.4.1/src/session-get.c Examining data/transmission-remote-gtk-1.4.1/src/session-get.h Examining data/transmission-remote-gtk-1.4.1/src/torrent-cell-renderer.c Examining data/transmission-remote-gtk-1.4.1/src/torrent-cell-renderer.h Examining data/transmission-remote-gtk-1.4.1/src/torrent.c Examining data/transmission-remote-gtk-1.4.1/src/torrent.h Examining data/transmission-remote-gtk-1.4.1/src/trg-about-window.c Examining data/transmission-remote-gtk-1.4.1/src/trg-about-window.h Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-counter.c Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-counter.h Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-epoch.c Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-epoch.h Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-eta.c Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-eta.h Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-file-icon.c Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-file-icon.h Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-numgteqthan.c Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-numgteqthan.h Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-priority.c Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-priority.h Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-ratio.c Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-ratio.h Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-size.c Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-size.h Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-speed.c Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-speed.h Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-wanted.c Examining data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-wanted.h Examining data/transmission-remote-gtk-1.4.1/src/trg-client.c Examining data/transmission-remote-gtk-1.4.1/src/trg-client.h Examining data/transmission-remote-gtk-1.4.1/src/trg-destination-combo.c Examining data/transmission-remote-gtk-1.4.1/src/trg-destination-combo.h Examining data/transmission-remote-gtk-1.4.1/src/trg-file-parser.c Examining data/transmission-remote-gtk-1.4.1/src/trg-file-parser.h Examining data/transmission-remote-gtk-1.4.1/src/trg-files-model-common.c Examining data/transmission-remote-gtk-1.4.1/src/trg-files-model-common.h Examining data/transmission-remote-gtk-1.4.1/src/trg-files-model.c Examining data/transmission-remote-gtk-1.4.1/src/trg-files-model.h Examining data/transmission-remote-gtk-1.4.1/src/trg-files-tree-view-common.c Examining data/transmission-remote-gtk-1.4.1/src/trg-files-tree-view-common.h Examining data/transmission-remote-gtk-1.4.1/src/trg-files-tree-view.c Examining data/transmission-remote-gtk-1.4.1/src/trg-files-tree-view.h Examining data/transmission-remote-gtk-1.4.1/src/trg-files-tree.c Examining data/transmission-remote-gtk-1.4.1/src/trg-files-tree.h Examining data/transmission-remote-gtk-1.4.1/src/trg-general-panel.h Examining data/transmission-remote-gtk-1.4.1/src/trg-gtk-app.c Examining data/transmission-remote-gtk-1.4.1/src/trg-gtk-app.h Examining data/transmission-remote-gtk-1.4.1/src/trg-icons.c Examining data/transmission-remote-gtk-1.4.1/src/trg-icons.h Examining data/transmission-remote-gtk-1.4.1/src/trg-json-widgets.c Examining data/transmission-remote-gtk-1.4.1/src/trg-json-widgets.h Examining data/transmission-remote-gtk-1.4.1/src/trg-main-window.c Examining data/transmission-remote-gtk-1.4.1/src/trg-main-window.h Examining data/transmission-remote-gtk-1.4.1/src/trg-menu-bar.c Examining data/transmission-remote-gtk-1.4.1/src/trg-menu-bar.h Examining data/transmission-remote-gtk-1.4.1/src/trg-model.c Examining data/transmission-remote-gtk-1.4.1/src/trg-model.h Examining data/transmission-remote-gtk-1.4.1/src/trg-peers-model.c Examining data/transmission-remote-gtk-1.4.1/src/trg-peers-model.h Examining data/transmission-remote-gtk-1.4.1/src/trg-peers-tree-view.c Examining data/transmission-remote-gtk-1.4.1/src/trg-peers-tree-view.h Examining data/transmission-remote-gtk-1.4.1/src/trg-persistent-tree-view.c Examining data/transmission-remote-gtk-1.4.1/src/trg-persistent-tree-view.h Examining data/transmission-remote-gtk-1.4.1/src/trg-preferences-dialog.c Examining data/transmission-remote-gtk-1.4.1/src/trg-preferences-dialog.h Examining data/transmission-remote-gtk-1.4.1/src/trg-prefs.c Examining data/transmission-remote-gtk-1.4.1/src/trg-prefs.h Examining data/transmission-remote-gtk-1.4.1/src/trg-remote-prefs-dialog.c Examining data/transmission-remote-gtk-1.4.1/src/trg-remote-prefs-dialog.h Examining data/transmission-remote-gtk-1.4.1/src/trg-rss-cell-renderer.c Examining data/transmission-remote-gtk-1.4.1/src/trg-rss-cell-renderer.h Examining data/transmission-remote-gtk-1.4.1/src/trg-rss-model.c Examining data/transmission-remote-gtk-1.4.1/src/trg-rss-model.h Examining data/transmission-remote-gtk-1.4.1/src/trg-rss-window.c Examining data/transmission-remote-gtk-1.4.1/src/trg-rss-window.h Examining data/transmission-remote-gtk-1.4.1/src/trg-sortable-filtered-model.c Examining data/transmission-remote-gtk-1.4.1/src/trg-sortable-filtered-model.h Examining data/transmission-remote-gtk-1.4.1/src/trg-state-selector.c Examining data/transmission-remote-gtk-1.4.1/src/trg-state-selector.h Examining data/transmission-remote-gtk-1.4.1/src/trg-stats-dialog.c Examining data/transmission-remote-gtk-1.4.1/src/trg-stats-dialog.h Examining data/transmission-remote-gtk-1.4.1/src/trg-status-bar.c Examining data/transmission-remote-gtk-1.4.1/src/trg-status-bar.h Examining data/transmission-remote-gtk-1.4.1/src/trg-toolbar.c Examining data/transmission-remote-gtk-1.4.1/src/trg-toolbar.h Examining data/transmission-remote-gtk-1.4.1/src/trg-torrent-add-dialog.c Examining data/transmission-remote-gtk-1.4.1/src/trg-torrent-add-dialog.h Examining data/transmission-remote-gtk-1.4.1/src/trg-torrent-add-url-dialog.c Examining data/transmission-remote-gtk-1.4.1/src/trg-torrent-add-url-dialog.h Examining data/transmission-remote-gtk-1.4.1/src/trg-torrent-graph.c Examining data/transmission-remote-gtk-1.4.1/src/trg-torrent-graph.h Examining data/transmission-remote-gtk-1.4.1/src/trg-torrent-model.c Examining data/transmission-remote-gtk-1.4.1/src/trg-torrent-model.h Examining data/transmission-remote-gtk-1.4.1/src/trg-torrent-move-dialog.c Examining data/transmission-remote-gtk-1.4.1/src/trg-torrent-move-dialog.h Examining data/transmission-remote-gtk-1.4.1/src/trg-torrent-props-dialog.c Examining data/transmission-remote-gtk-1.4.1/src/trg-torrent-props-dialog.h Examining data/transmission-remote-gtk-1.4.1/src/trg-torrent-tree-view.c Examining data/transmission-remote-gtk-1.4.1/src/trg-torrent-tree-view.h Examining data/transmission-remote-gtk-1.4.1/src/trg-trackers-model.c Examining data/transmission-remote-gtk-1.4.1/src/trg-trackers-model.h Examining data/transmission-remote-gtk-1.4.1/src/trg-trackers-tree-view.c Examining data/transmission-remote-gtk-1.4.1/src/trg-trackers-tree-view.h Examining data/transmission-remote-gtk-1.4.1/src/trg-tree-view.c Examining data/transmission-remote-gtk-1.4.1/src/upload.c Examining data/transmission-remote-gtk-1.4.1/src/upload.h Examining data/transmission-remote-gtk-1.4.1/src/util.c Examining data/transmission-remote-gtk-1.4.1/src/util.h Examining data/transmission-remote-gtk-1.4.1/src/win32-mailslot.c Examining data/transmission-remote-gtk-1.4.1/src/win32-mailslot.h Examining data/transmission-remote-gtk-1.4.1/src/trg-tree-view.h Examining data/transmission-remote-gtk-1.4.1/src/trg-general-panel.c FINAL RESULTS: data/transmission-remote-gtk-1.4.1/src/bencode.c:91:9: [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(_ret, &sllen, sizeof(sllen)); data/transmission-remote-gtk-1.4.1/src/bencode.c:93:9: [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(ret, *data + 1, len); data/transmission-remote-gtk-1.4.1/src/hig.c:53: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 buf[512]; data/transmission-remote-gtk-1.4.1/src/torrent-cell-renderer.c:145: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 buf1[32], buf2[32], buf3[32], buf4[32], buf5[32], buf6[32]; data/transmission-remote-gtk-1.4.1/src/torrent-cell-renderer.c:229:13: [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 timestr[128]; data/transmission-remote-gtk-1.4.1/src/torrent-cell-renderer.c:242: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 downStr[32], upStr[32]; data/transmission-remote-gtk-1.4.1/src/torrent-cell-renderer.c:290: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. char buf1[32]; data/transmission-remote-gtk-1.4.1/src/torrent-cell-renderer.c:296: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. char buf[512]; data/transmission-remote-gtk-1.4.1/src/torrent-cell-renderer.c:310: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 buf[256]; data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-eta.c:73:13: [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 etaString[32]; data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-ratio.c:71:13: [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 ratioString[32]; data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-size.c:73: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 sizeString[32]; data/transmission-remote-gtk-1.4.1/src/trg-cell-renderer-speed.c:72: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 speedString[32]; data/transmission-remote-gtk-1.4.1/src/trg-client.c:466:9: [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(&(mem->raw[mem->size]), ptr, realsize); data/transmission-remote-gtk-1.4.1/src/trg-main-window.c:2034: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 speed[32]; data/transmission-remote-gtk-1.4.1/src/trg-stats-dialog.c:219: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 versionStr[32]; data/transmission-remote-gtk-1.4.1/src/trg-torrent-graph.c:396: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 speed[32]; data/transmission-remote-gtk-1.4.1/src/trg-torrent-props-dialog.c:310: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 buf[512]; data/transmission-remote-gtk-1.4.1/src/util.c:421: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 d[128], h[128], m[128], s[128]; data/transmission-remote-gtk-1.4.1/src/util.c:467: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 buf[256], *eoln; data/transmission-remote-gtk-1.4.1/src/win32-mailslot.c:67: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 szBuffer[MAILSLOT_BUFFER_SIZE]; data/transmission-remote-gtk-1.4.1/src/bencode.c:184: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). return be_decoden(data, strlen(data)); data/transmission-remote-gtk-1.4.1/src/trg-client.c:254:18: [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 (!host || strlen(host) < 1) { data/transmission-remote-gtk-1.4.1/src/trg-client.c:482: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). strlen(X_TRANSMISSION_SESSION_ID_HEADER_PREFIX)) == 0) { data/transmission-remote-gtk-1.4.1/src/trg-destination-combo.c:149: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). return strlen(text) > 0; data/transmission-remote-gtk-1.4.1/src/trg-general-panel.c:232: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). if (strlen(errorStr) > 0) { data/transmission-remote-gtk-1.4.1/src/trg-general-panel.c:277: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). if (strlen(key) > 0) { data/transmission-remote-gtk-1.4.1/src/trg-general-panel.c:279: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). g_markup_printf_escaped(strlen(key) > 0 ? "<b>%s:</b>" : "", data/transmission-remote-gtk-1.4.1/src/trg-main-window.c:1510: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). if (strlen(filterText) > 0) { data/transmission-remote-gtk-1.4.1/src/trg-main-window.c:2947:20: [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). gint len = strlen(host); data/transmission-remote-gtk-1.4.1/src/trg-torrent-add-dialog.c:493: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). if (strlen(file_name) > MAGNET_MAX_LINK_WIDTH) { data/transmission-remote-gtk-1.4.1/src/trg-torrent-model.c:410: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). int offset = strlen(defaultDownloadDir); data/transmission-remote-gtk-1.4.1/src/trg-torrent-model.c:414: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). if (offset < strlen(downloadDir)) data/transmission-remote-gtk-1.4.1/src/trg-torrent-props-dialog.c:336: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). if (creator && strlen(creator) > 0 && dateCreated > 0) data/transmission-remote-gtk-1.4.1/src/trg-torrent-props-dialog.c:341:23: [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). else if (creator && strlen(creator) > 0) data/transmission-remote-gtk-1.4.1/src/trg-tree-view.c:137: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). && strlen(priv->configId) > data/transmission-remote-gtk-1.4.1/src/util.c:244: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). if ((len = strlen(str)) < 1) data/transmission-remote-gtk-1.4.1/src/util.c:247: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). for (i = strlen(str) - 1; str[i]; i--) { data/transmission-remote-gtk-1.4.1/src/win32-mailslot.c:187:19: [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(msg) + 1, /* number of bytes to write, include the NULL */ ANALYSIS SUMMARY: Hits = 39 Lines analyzed = 32583 in approximately 0.67 seconds (48948 lines/second) Physical Source Lines of Code (SLOC) = 24161 Hits@level = [0] 4 [1] 18 [2] 21 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 43 [1+] 39 [2+] 21 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 1.77973 [1+] 1.61417 [2+] 0.869169 [3+] 0 [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.