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/bluez-tools-2.0~20170911.0.7cb788c/src/bt-adapter.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-agent.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-device.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-network.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-obex.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez-api.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/adapter.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/adapter.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/agent_manager.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/agent_manager.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/alert.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/alert.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/alert_agent.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/alert_agent.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/cycling_speed.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/cycling_speed.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/cycling_speed_manager.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/cycling_speed_manager.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/device.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/device.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/health_channel.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/health_channel.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/health_device.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/health_device.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/health_manager.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/health_manager.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/heart_rate.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/heart_rate.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/heart_rate_manager.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/heart_rate_manager.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/media.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/media.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/media_control.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/media_control.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/media_player.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/media_player.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/network.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/network.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/network_server.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/network_server.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_agent_manager.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_agent_manager.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_client.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_client.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_file_transfer.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_file_transfer.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_message.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_message.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_message_access.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_message_access.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_object_push.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_object_push.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_phonebook_access.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_phonebook_access.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_session.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_session.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_synchronization.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_synchronization.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_transfer.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/obex/obex_transfer.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/profile_manager.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/profile_manager.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/proximity_monitor.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/proximity_monitor.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/proximity_reporter.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/proximity_reporter.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/sim_access.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/sim_access.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/thermometer.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/thermometer.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/thermometer_manager.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/bluez/thermometer_manager.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/dbus-common.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/dbus-common.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/helpers.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/helpers.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/manager.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/manager.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/obex_agent.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/obex_agent.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/properties.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/properties.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/sdp.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/sdp.h Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/agent-helper.c Examining data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/agent-helper.h FINAL RESULTS: data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-device.c:334:13: [4] (shell) execl: 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. execl("/bin/sdptool", "/bin/sdptool", "browse", "--xml", device_path, (char *) 0); data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-device.c:336:13: [4] (shell) execl: 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. execl("/bin/sdptool", "/bin/sdptool", "browse", "--xml", "--uuid", pattern, device_path, (char *) 0); data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-adapter.c:280:48: [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). v = g_variant_new_uint32((guint32) atoi(set_value_arg)); data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-adapter.c:133:39: [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 (set_arg && (argc != 3 || strlen(argv[1]) == 0 || strlen(argv[2]) == 0)) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-adapter.c:133:63: [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 (set_arg && (argc != 3 || strlen(argv[1]) == 0 || strlen(argv[2]) == 0)) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-agent.c:54: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). g_assert(filename != NULL && strlen(filename) > 0); data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-agent.c:94:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t read; data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-device.c:333: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). if(pattern == NULL || strlen(pattern) == 0) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-device.c:475: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). else if (!list_arg && (!connect_arg || strlen(connect_arg) == 0) && (!disconnect_arg || strlen(disconnect_arg) == 0) && (!remove_arg || strlen(remove_arg) == 0) && (!info_arg || strlen(info_arg) == 0) && !services_arg && !set_arg) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-device.c:475:93: [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 (!list_arg && (!connect_arg || strlen(connect_arg) == 0) && (!disconnect_arg || strlen(disconnect_arg) == 0) && (!remove_arg || strlen(remove_arg) == 0) && (!info_arg || strlen(info_arg) == 0) && !services_arg && !set_arg) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-device.c:475:141: [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 (!list_arg && (!connect_arg || strlen(connect_arg) == 0) && (!disconnect_arg || strlen(disconnect_arg) == 0) && (!remove_arg || strlen(remove_arg) == 0) && (!info_arg || strlen(info_arg) == 0) && !services_arg && !set_arg) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-device.c:475:183: [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 (!list_arg && (!connect_arg || strlen(connect_arg) == 0) && (!disconnect_arg || strlen(disconnect_arg) == 0) && (!remove_arg || strlen(remove_arg) == 0) && (!info_arg || strlen(info_arg) == 0) && !services_arg && !set_arg) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-device.c:480: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). else if (services_arg && (argc != 2 || strlen(argv[1]) == 0) && (argc != 3 || strlen(argv[1]) == 0)) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-device.c:480:83: [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 (services_arg && (argc != 2 || strlen(argv[1]) == 0) && (argc != 3 || strlen(argv[1]) == 0)) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-device.c:486:39: [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 (set_arg && (argc != 4 || strlen(argv[1]) == 0 || strlen(argv[2]) == 0 || strlen(argv[3]) == 0)) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-device.c:486:63: [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 (set_arg && (argc != 4 || strlen(argv[1]) == 0 || strlen(argv[2]) == 0 || strlen(argv[3]) == 0)) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-device.c:486:87: [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 (set_arg && (argc != 4 || strlen(argv[1]) == 0 || strlen(argv[2]) == 0 || strlen(argv[3]) == 0)) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-device.c:673:68: [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_parse_context_parse(xml_parse_context, value, strlen(value), &error); data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-network.c:138: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). } else if (connect_arg && (argc != 3 || strlen(argv[1]) == 0 || strlen(argv[2]) == 0)) { data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-network.c:138:66: [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 (connect_arg && (argc != 3 || strlen(argv[1]) == 0 || strlen(argv[2]) == 0)) { data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-network.c:142:41: [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 (server_arg && (argc != 3 || strlen(argv[1]) == 0 || strlen(argv[2]) == 0)) { data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-network.c:142:65: [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 (server_arg && (argc != 3 || strlen(argv[1]) == 0 || strlen(argv[2]) == 0)) { data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-obex.c:427:54: [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 (!server_arg && !opp_arg && (!ftp_arg || strlen(ftp_arg) == 0)) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-obex.c:432: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). else if (server_arg && argc != 1 && (argc != 2 || strlen(argv[1]) == 0)) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-obex.c:438:39: [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 (opp_arg && (argc != 3 || strlen(argv[1]) == 0 || strlen(argv[2]) == 0)) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-obex.c:438:63: [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 (opp_arg && (argc != 3 || strlen(argv[1]) == 0 || strlen(argv[2]) == 0)) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-obex.c:733: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). if (f_argc != 2 || strlen(f_argv[1]) == 0) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-obex.c:750: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). if (f_argc != 2 || strlen(f_argv[1]) == 0) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-obex.c:833: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). if (f_argc != 3 || strlen(f_argv[1]) == 0 || strlen(f_argv[2]) == 0) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-obex.c:833:62: [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 (f_argc != 3 || strlen(f_argv[1]) == 0 || strlen(f_argv[2]) == 0) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-obex.c:863: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). if (f_argc != 3 || strlen(f_argv[1]) == 0 || strlen(f_argv[2]) == 0) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-obex.c:863:62: [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 (f_argc != 3 || strlen(f_argv[1]) == 0 || strlen(f_argv[2]) == 0) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-obex.c:891: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). if (f_argc != 3 || strlen(f_argv[1]) == 0 || strlen(f_argv[2]) == 0) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-obex.c:891:62: [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 (f_argc != 3 || strlen(f_argv[1]) == 0 || strlen(f_argv[2]) == 0) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-obex.c:908: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). if (f_argc != 3 || strlen(f_argv[1]) == 0 || strlen(f_argv[2]) == 0) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-obex.c:908:62: [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 (f_argc != 3 || strlen(f_argv[1]) == 0 || strlen(f_argv[2]) == 0) data/bluez-tools-2.0~20170911.0.7cb788c/src/bt-obex.c:925: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). if (f_argc != 2 || strlen(f_argv[1]) == 0) data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/agent-helper.c:160:17: [1] (buffer) scanf: It's unclear if the %s limit in the format string is small enough (CWE-120). Check that the limit is sufficiently small, or use a different input function. if (scanf("%3s", yn) == EOF && errno) data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/agent-helper.c:205:17: [1] (buffer) scanf: It's unclear if the %s limit in the format string is small enough (CWE-120). Check that the limit is sufficiently small, or use a different input function. if (scanf("%3s", yn) == EOF && errno) data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/agent-helper.c:256:17: [1] (buffer) scanf: It's unclear if the %s limit in the format string is small enough (CWE-120). Check that the limit is sufficiently small, or use a different input function. if (scanf("%3s", yn) == EOF && errno) data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/helpers.c:118: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). if (uuid == NULL || strlen(uuid) == 0) data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/helpers.c:132: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). if (name == NULL || strlen(name) == 0) data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/helpers.c:162: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). if (name == NULL || strlen(name) == 0) data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/helpers.c:219: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). g_assert(name != NULL && strlen(name) > 0); data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/helpers.c:293: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). g_assert(dbus_service_name != NULL && strlen(dbus_service_name) > 0); data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/helpers.c:294: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). g_assert(dbus_object_path != NULL && strlen(dbus_object_path) > 0); data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/helpers.c:295: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). g_assert(intf_name != NULL && strlen(intf_name) > 0); data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/helpers.c:354:34: [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_assert(filename != NULL && strlen(filename) > 0); data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/helpers.c:380:33: [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_assert(dirname != NULL && strlen(dirname) > 0); data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/helpers.h:43:107: [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_printerr("%s: %s\n", (error->domain == G_DBUS_ERROR && g_dbus_error_get_remote_error(error) != NULL && strlen(g_dbus_error_get_remote_error(error)) ? g_dbus_error_get_remote_error(error) : "Error"), error->message); \ data/bluez-tools-2.0~20170911.0.7cb788c/src/lib/obex_agent.c:227:9: [1] (buffer) scanf: It's unclear if the %s limit in the format string is small enough (CWE-120). Check that the limit is sufficiently small, or use a different input function. if (scanf("%3s", yn) == EOF && errno) ANALYSIS SUMMARY: Hits = 51 Lines analyzed = 15484 in approximately 0.38 seconds (40338 lines/second) Physical Source Lines of Code (SLOC) = 10196 Hits@level = [0] 7 [1] 48 [2] 1 [3] 0 [4] 2 [5] 0 Hits@level+ = [0+] 58 [1+] 51 [2+] 3 [3+] 2 [4+] 2 [5+] 0 Hits/KSLOC@level+ = [0+] 5.68851 [1+] 5.00196 [2+] 0.294233 [3+] 0.196155 [4+] 0.196155 [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.