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/purple-xmpp-http-upload-0.2.2/headers/jabber/adhoccommands.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/auth.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/auth_digest_md5.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/auth_scram.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/bosh.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/buddy.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/caps.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/chat.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/data.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/disco.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/facebook_roster.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/ibb.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/iq.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/jabber.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/jutil.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/message.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/namespaces.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/oob.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/parser.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/pep.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/ping.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/presence.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/roster.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/si.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/useravatar.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/usermood.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/usernick.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/usertune.h Examining data/purple-xmpp-http-upload-0.2.2/headers/jabber/xdata.h Examining data/purple-xmpp-http-upload-0.2.2/src/hfu_disco.c Examining data/purple-xmpp-http-upload-0.2.2/src/hfu_disco.h Examining data/purple-xmpp-http-upload-0.2.2/src/hfu_util.c Examining data/purple-xmpp-http-upload-0.2.2/src/hfu_util.h Examining data/purple-xmpp-http-upload-0.2.2/src/jabber_http_file_upload.c Examining data/purple-xmpp-http-upload-0.2.2/src/jabber_http_file_upload.h FINAL RESULTS: data/purple-xmpp-http-upload-0.2.2/headers/jabber/ibb.h:41:66: [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). const char *id, xmlnode *open); data/purple-xmpp-http-upload-0.2.2/headers/jabber/ibb.h:80:47: [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). const gchar *from, const gchar *id, xmlnode *open, gpointer user_data); data/purple-xmpp-http-upload-0.2.2/src/hfu_disco.c:62: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). js_data->max_file_size = (gsize) atol(xmlnode_get_data(value)); data/purple-xmpp-http-upload-0.2.2/src/jabber_http_file_upload.c:124:47: [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). purple_ssl_write(ssl_connection, headers, strlen(headers)); ANALYSIS SUMMARY: Hits = 4 Lines analyzed = 3185 in approximately 0.12 seconds (26713 lines/second) Physical Source Lines of Code (SLOC) = 1585 Hits@level = [0] 0 [1] 1 [2] 3 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 4 [1+] 4 [2+] 3 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 2.52366 [1+] 2.52366 [2+] 1.89274 [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.