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/libfprint-1.90.3/demo/gtk-libfprint-test.c Examining data/libfprint-1.90.3/examples/cpp-test.cpp Examining data/libfprint-1.90.3/examples/enroll.c Examining data/libfprint-1.90.3/examples/img-capture.c Examining data/libfprint-1.90.3/examples/manage-prints.c Examining data/libfprint-1.90.3/examples/storage.c Examining data/libfprint-1.90.3/examples/storage.h Examining data/libfprint-1.90.3/examples/utilities.c Examining data/libfprint-1.90.3/examples/utilities.h Examining data/libfprint-1.90.3/examples/verify.c Examining data/libfprint-1.90.3/libfprint/drivers/aes1610.c Examining data/libfprint-1.90.3/libfprint/drivers/aes1660.c Examining data/libfprint-1.90.3/libfprint/drivers/aes1660.h Examining data/libfprint-1.90.3/libfprint/drivers/aes2501.c Examining data/libfprint-1.90.3/libfprint/drivers/aes2501.h Examining data/libfprint-1.90.3/libfprint/drivers/aes2550.c Examining data/libfprint-1.90.3/libfprint/drivers/aes2550.h Examining data/libfprint-1.90.3/libfprint/drivers/aes2660.c Examining data/libfprint-1.90.3/libfprint/drivers/aes2660.h Examining data/libfprint-1.90.3/libfprint/drivers/aes3500.c Examining data/libfprint-1.90.3/libfprint/drivers/aes3k.c Examining data/libfprint-1.90.3/libfprint/drivers/aes3k.h Examining data/libfprint-1.90.3/libfprint/drivers/aes4000.c Examining data/libfprint-1.90.3/libfprint/drivers/aeslib.c Examining data/libfprint-1.90.3/libfprint/drivers/aeslib.h Examining data/libfprint-1.90.3/libfprint/drivers/aesx660.c Examining data/libfprint-1.90.3/libfprint/drivers/aesx660.h Examining data/libfprint-1.90.3/libfprint/drivers/elan.c Examining data/libfprint-1.90.3/libfprint/drivers/elan.h Examining data/libfprint-1.90.3/libfprint/drivers/etes603.c Examining data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix.c Examining data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix.h Examining data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix_proto.c Examining data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix_proto.h Examining data/libfprint-1.90.3/libfprint/drivers/synaptics/bmkt.h Examining data/libfprint-1.90.3/libfprint/drivers/synaptics/bmkt_message.c Examining data/libfprint-1.90.3/libfprint/drivers/synaptics/bmkt_message.h Examining data/libfprint-1.90.3/libfprint/drivers/synaptics/bmkt_response.h Examining data/libfprint-1.90.3/libfprint/drivers/synaptics/sensor.h Examining data/libfprint-1.90.3/libfprint/drivers/synaptics/synaptics.c Examining data/libfprint-1.90.3/libfprint/drivers/synaptics/synaptics.h Examining data/libfprint-1.90.3/libfprint/drivers/upek_proto.c Examining data/libfprint-1.90.3/libfprint/drivers/upek_proto.h Examining data/libfprint-1.90.3/libfprint/drivers/upeksonly.c Examining data/libfprint-1.90.3/libfprint/drivers/upeksonly.h Examining data/libfprint-1.90.3/libfprint/drivers/upektc.c Examining data/libfprint-1.90.3/libfprint/drivers/upektc.h Examining data/libfprint-1.90.3/libfprint/drivers/upektc_img.c Examining data/libfprint-1.90.3/libfprint/drivers/upektc_img.h Examining data/libfprint-1.90.3/libfprint/drivers/upekts.c Examining data/libfprint-1.90.3/libfprint/drivers/uru4000.c Examining data/libfprint-1.90.3/libfprint/drivers/vcom5s.c Examining data/libfprint-1.90.3/libfprint/drivers/vfs0050.c Examining data/libfprint-1.90.3/libfprint/drivers/vfs0050.h Examining data/libfprint-1.90.3/libfprint/drivers/vfs101.c Examining data/libfprint-1.90.3/libfprint/drivers/vfs301.c Examining data/libfprint-1.90.3/libfprint/drivers/vfs301.h Examining data/libfprint-1.90.3/libfprint/drivers/vfs301_proto.c Examining data/libfprint-1.90.3/libfprint/drivers/vfs301_proto_fragments.h Examining data/libfprint-1.90.3/libfprint/drivers/vfs5011.c Examining data/libfprint-1.90.3/libfprint/drivers/vfs5011_proto.h Examining data/libfprint-1.90.3/libfprint/drivers/virtual-image.c Examining data/libfprint-1.90.3/libfprint/drivers_api.h Examining data/libfprint-1.90.3/libfprint/fp-context.c Examining data/libfprint-1.90.3/libfprint/fp-context.h Examining data/libfprint-1.90.3/libfprint/fp-device-private.h Examining data/libfprint-1.90.3/libfprint/fp-device.c Examining data/libfprint-1.90.3/libfprint/fp-device.h Examining data/libfprint-1.90.3/libfprint/fp-image-device-private.h Examining data/libfprint-1.90.3/libfprint/fp-image-device.c Examining data/libfprint-1.90.3/libfprint/fp-image-device.h Examining data/libfprint-1.90.3/libfprint/fp-image.c Examining data/libfprint-1.90.3/libfprint/fp-image.h Examining data/libfprint-1.90.3/libfprint/fp-print-private.h Examining data/libfprint-1.90.3/libfprint/fp-print.c Examining data/libfprint-1.90.3/libfprint/fp-print.h Examining data/libfprint-1.90.3/libfprint/fpi-assembling.c Examining data/libfprint-1.90.3/libfprint/fpi-assembling.h Examining data/libfprint-1.90.3/libfprint/fpi-byte-reader.c Examining data/libfprint-1.90.3/libfprint/fpi-byte-reader.h Examining data/libfprint-1.90.3/libfprint/fpi-byte-utils.h Examining data/libfprint-1.90.3/libfprint/fpi-byte-writer.c Examining data/libfprint-1.90.3/libfprint/fpi-byte-writer.h Examining data/libfprint-1.90.3/libfprint/fpi-compat.h Examining data/libfprint-1.90.3/libfprint/fpi-context.h Examining data/libfprint-1.90.3/libfprint/fpi-device.c Examining data/libfprint-1.90.3/libfprint/fpi-device.h Examining data/libfprint-1.90.3/libfprint/fpi-image-device.c Examining data/libfprint-1.90.3/libfprint/fpi-image-device.h Examining data/libfprint-1.90.3/libfprint/fpi-image.c Examining data/libfprint-1.90.3/libfprint/fpi-image.h Examining data/libfprint-1.90.3/libfprint/fpi-log.h Examining data/libfprint-1.90.3/libfprint/fpi-minutiae.h Examining data/libfprint-1.90.3/libfprint/fpi-print.c Examining data/libfprint-1.90.3/libfprint/fpi-print.h Examining data/libfprint-1.90.3/libfprint/fpi-ssm.c Examining data/libfprint-1.90.3/libfprint/fpi-ssm.h Examining data/libfprint-1.90.3/libfprint/fpi-usb-transfer.c Examining data/libfprint-1.90.3/libfprint/fpi-usb-transfer.h Examining data/libfprint-1.90.3/libfprint/fprint-list-supported-devices.c Examining data/libfprint-1.90.3/libfprint/fprint.h Examining data/libfprint-1.90.3/libfprint/nbis/bozorth3/bozorth3.c Examining data/libfprint-1.90.3/libfprint/nbis/bozorth3/bz_alloc.c Examining data/libfprint-1.90.3/libfprint/nbis/bozorth3/bz_drvrs.c Examining data/libfprint-1.90.3/libfprint/nbis/bozorth3/bz_gbls.c Examining data/libfprint-1.90.3/libfprint/nbis/bozorth3/bz_io.c Examining data/libfprint-1.90.3/libfprint/nbis/bozorth3/bz_sort.c Examining data/libfprint-1.90.3/libfprint/nbis/include/bozorth.h Examining data/libfprint-1.90.3/libfprint/nbis/include/bz_array.h Examining data/libfprint-1.90.3/libfprint/nbis/include/defs.h Examining data/libfprint-1.90.3/libfprint/nbis/include/lfs.h Examining data/libfprint-1.90.3/libfprint/nbis/include/log.h Examining data/libfprint-1.90.3/libfprint/nbis/include/morph.h Examining data/libfprint-1.90.3/libfprint/nbis/include/mytime.h Examining data/libfprint-1.90.3/libfprint/nbis/include/sunrast.h Examining data/libfprint-1.90.3/libfprint/nbis/libfprint-include/nbis-helpers.h Examining data/libfprint-1.90.3/libfprint/nbis/libfprint-include/nbis.h Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/binar.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/block.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/chaincod.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/contour.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/detect.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/dft.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/free.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/getmin.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/globals.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/imgutil.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/init.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/line.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/link.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/log.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/loop.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/maps.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/matchpat.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/minutia.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/morph.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/quality.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/remove.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/ridges.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/shape.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/sort.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/util.c Examining data/libfprint-1.90.3/libfprint/nbis/mindtct/xytreps.c Examining data/libfprint-1.90.3/libfprint/fprint-list-udev-rules.c Examining data/libfprint-1.90.3/tests/test-device-fake.c Examining data/libfprint-1.90.3/tests/test-device-fake.h Examining data/libfprint-1.90.3/tests/test-fp-context.c Examining data/libfprint-1.90.3/tests/test-fp-device.c Examining data/libfprint-1.90.3/tests/test-fpi-assembling.c Examining data/libfprint-1.90.3/tests/test-fpi-device.c Examining data/libfprint-1.90.3/tests/test-fpi-ssm.c Examining data/libfprint-1.90.3/tests/test-utils.c Examining data/libfprint-1.90.3/tests/test-utils.h FINAL RESULTS: data/libfprint-1.90.3/libfprint/nbis/include/mytime.h:79:5: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(_fp_, _fmt_, _var_); data/libfprint-1.90.3/libfprint/fpi-print.c:298:15: [3] (random) g_random_int: 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. rand_id = g_random_int (); data/libfprint-1.90.3/tests/test-fpi-device.c:208:25: [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. int expected_stages = g_random_int_range (G_MININT32, G_MAXINT32); data/libfprint-1.90.3/tests/test-fpi-device.c:222:25: [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. int expected_stages = g_random_int_range (G_MININT32, G_MAXINT32); data/libfprint-1.90.3/tests/test-fpi-device.c:278:17: [3] (random) g_random_int: 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. driver_data = g_random_int (); data/libfprint-1.90.3/tests/test-fpi-device.c:598:5: [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. g_random_int_range (fp_device_get_nr_enroll_stages (device), G_MAXINT32); data/libfprint-1.90.3/tests/test-fpi-device.c:612:5: [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. g_random_int_range (fp_device_get_nr_enroll_stages (device), G_MAXINT32); data/libfprint-1.90.3/tests/test-fpi-device.c:622:5: [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. g_random_int_range (fp_device_get_nr_enroll_stages (device), G_MAXINT32); data/libfprint-1.90.3/tests/test-fpi-device.c:636:5: [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. g_random_int_range (fp_device_get_nr_enroll_stages (device), G_MAXINT32); data/libfprint-1.90.3/tests/test-fpi-device.c:660:33: [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. dev_class->nr_enroll_stages = g_random_int_range (10, G_MAXINT32); data/libfprint-1.90.3/tests/test-fpi-device.c:1100:49: [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. expected_matched = g_ptr_array_index (prints, g_random_int_range (0, 499)); data/libfprint-1.90.3/tests/test-fpi-device.c:1176:49: [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. expected_matched = g_ptr_array_index (prints, g_random_int_range (0, 499)); data/libfprint-1.90.3/tests/test-fpi-device.c:1214:49: [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. expected_matched = g_ptr_array_index (prints, g_random_int_range (0, 499)); data/libfprint-1.90.3/examples/manage-prints.c:151: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 buf[128]; data/libfprint-1.90.3/examples/storage.c:186:14: [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). FILE *fd = fopen (path, "w"); data/libfprint-1.90.3/examples/verify.c:88: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[20]; data/libfprint-1.90.3/examples/verify.c:133: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 date_str[128]; data/libfprint-1.90.3/libfprint/drivers/aes1610.c:387: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. static unsigned char list_BE_values[10] = { data/libfprint-1.90.3/libfprint/drivers/aes1610.c:393: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. static unsigned char list_BD_values[10] = { data/libfprint-1.90.3/libfprint/drivers/aes1610.c:585: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 (stripdata, data + 1, FRAME_WIDTH * (FRAME_HEIGHT / 2)); data/libfprint-1.90.3/libfprint/drivers/aes2501.c:483: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 (stripdata, data + 1, 192 * 8); data/libfprint-1.90.3/libfprint/drivers/aes2550.c:210:3: [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 (stripdata, data + 33, FRAME_WIDTH * FRAME_HEIGHT / 2); data/libfprint-1.90.3/libfprint/drivers/aesx660.c:308: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 (stripdata, data + AESX660_IMAGE_OFFSET, cls->assembling_ctx->frame_width * FRAME_HEIGHT / 2); data/libfprint-1.90.3/libfprint/drivers/elan.c:285:3: [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 (sorted, raw_frame, frame_size * sizeof (short)); data/libfprint-1.90.3/libfprint/drivers/elan.h:75: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. unsigned char cmd[ELAN_CMD_LEN]; data/libfprint-1.90.3/libfprint/drivers/etes603.c:850: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 (self->fp + self->fp_height * FE_WIDTH / 2, self->ans, data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix.c:519:3: [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 (&buffer[offset], tid, MIN (tid_len, TEMPLATE_ID_SIZE)); data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix.c:523:3: [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 (&buffer[offset], uid, uid_len); data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix.c:599:3: [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 (self->template_id, resp->enroll_init.tid, TEMPLATE_ID_SIZE); data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix_proto.c:145:3: [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 (md, &ctx->crc, 4); data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix_proto.c:210:3: [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 (ppackage, &header, PACKAGE_HEADER_SIZE); data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix_proto.c:211:3: [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 (ppackage + PACKAGE_HEADER_SIZE, payload, payload_size); data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix_proto.c:230:3: [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 (pheader, buffer, sizeof (pack_header)); data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix_proto.c:264:3: [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 (template->accountid, &buffer[Offset], 32); data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix_proto.c:267:3: [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 (template->tid, &buffer[Offset], 32); data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix_proto.c:272:3: [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 (template->payload.data, &buffer[Offset], template->payload.size); data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix_proto.c:302: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 (&presp->version_info, buffer + 1, sizeof (gxfp_version_info_t)); data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix_proto.c:315: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 (&presp->enroll_init.tid, &buffer[1], TEMPLATE_ID_SIZE); data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix_proto.c:329: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 (&presp->check_duplicate_resp.template, buffer + 3, tid_size); data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix_proto.c:414:3: [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 (&pconfig->config, sensor_config, 26); data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix_proto.c:419:3: [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 (pconfig->crc_value, &crc32_calc, PACKAGE_CRC_SIZE); data/libfprint-1.90.3/libfprint/drivers/synaptics/bmkt_message.c:105:3: [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 (enroll_resp->user_id, &msg_resp->payload[1], msg_resp->payload_len - 1); data/libfprint-1.90.3/libfprint/drivers/synaptics/bmkt_message.c:120:3: [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 (id_resp->user_id, &msg_resp->payload[3], msg_resp->payload_len - 3); data/libfprint-1.90.3/libfprint/drivers/synaptics/bmkt_message.c:236:3: [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 (get_version_resp->part, msg_resp->payload, BMKT_PART_NUM_LEN); data/libfprint-1.90.3/libfprint/drivers/synaptics/bmkt_message.c:241:3: [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 (get_version_resp->supplier_id, msg_resp->payload + offset, BMKT_SUPPLIER_ID_LEN); data/libfprint-1.90.3/libfprint/drivers/synaptics/bmkt_message.c:259:3: [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 (&cmd[BMKT_MESSAGE_PAYLOAD_FIELD], payload, payload_size); data/libfprint-1.90.3/libfprint/drivers/synaptics/synaptics.c:811:3: [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 (payload + 2, user_id, user_id_len); data/libfprint-1.90.3/libfprint/drivers/synaptics/synaptics.c:883:3: [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 (payload + 1, user_id, user_id_len); data/libfprint-1.90.3/libfprint/drivers/upeksonly.c:344:3: [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 (self->rowbuf + self->rowbuf_offset, data, size); data/libfprint-1.90.3/libfprint/drivers/upeksonly.c:357:3: [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 (self->rowbuf, data, size); data/libfprint-1.90.3/libfprint/drivers/upeksonly.c:386: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. unsigned char dummy_data[62]; data/libfprint-1.90.3/libfprint/drivers/upeksonly.c:415:23: [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 (dummy_data, data/libfprint-1.90.3/libfprint/drivers/upeksonly.c:421:23: [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 (dummy_data, data/libfprint-1.90.3/libfprint/drivers/upeksonly.c:424:23: [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 (dummy_data + row_left, last_row, 62 - row_left); data/libfprint-1.90.3/libfprint/drivers/upektc.c:274:3: [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 (img->data, transfer->buffer, IMAGE_SIZE); data/libfprint-1.90.3/libfprint/drivers/upektc.h:33: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. unsigned char cmd[0x40]; data/libfprint-1.90.3/libfprint/drivers/upektc.h:1928:23: [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 const unsigned char scan_cmd[0x40] = { data/libfprint-1.90.3/libfprint/drivers/upektc_img.c:46: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. unsigned char cmd[MAX_CMD_SIZE]; data/libfprint-1.90.3/libfprint/drivers/upektc_img.c:47: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. unsigned char response[MAX_RESPONSE_SIZE]; data/libfprint-1.90.3/libfprint/drivers/upektc_img.c:94:3: [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 (self->cmd, buf, buf_size); data/libfprint-1.90.3/libfprint/drivers/upektc_img.c:172:3: [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 (image_buf, cmd_res + offset, len); data/libfprint-1.90.3/libfprint/drivers/upektc_img.c:314: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 (img->data, self->image_bits, data/libfprint-1.90.3/libfprint/drivers/upekts.c:117:3: [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 (transfer->buffer, ciao, strlen (ciao)); data/libfprint-1.90.3/libfprint/drivers/upekts.c:124: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 (transfer->buffer + 7, data, len); data/libfprint-1.90.3/libfprint/drivers/upekts.c:154:3: [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 (buf + 6, data, innerlen); data/libfprint-1.90.3/libfprint/drivers/upekts.c:1303: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, verify_hdr, sizeof (verify_hdr)); data/libfprint-1.90.3/libfprint/drivers/upekts.c:1304: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 + sizeof (verify_hdr), data, data_len); data/libfprint-1.90.3/libfprint/drivers/uru4000.c:126: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. unsigned char last_reg_rd[16]; data/libfprint-1.90.3/libfprint/drivers/uru4000.c:182:3: [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 (transfer->buffer, values, num_regs); data/libfprint-1.90.3/libfprint/drivers/uru4000.c:253: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. unsigned char respdata[CR_LENGTH]; data/libfprint-1.90.3/libfprint/drivers/uru4000.c:484: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 (self->last_reg_rd, transfer->buffer, transfer->actual_length); data/libfprint-1.90.3/libfprint/drivers/uru4000.c:659: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. unsigned char buf[5]; data/libfprint-1.90.3/libfprint/drivers/uru4000.c:764: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 (&fpimg->data[to], &img->data[r][0], data/libfprint-1.90.3/libfprint/drivers/vfs0050.h:72: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. unsigned char data[VFS_IMAGE_WIDTH]; data/libfprint-1.90.3/libfprint/drivers/vfs0050.h:75: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. unsigned char next_line_part[VFS_NEXT_LINE_WIDTH]; data/libfprint-1.90.3/libfprint/drivers/vfs0050.h:78: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. unsigned char scan_data[8]; data/libfprint-1.90.3/libfprint/drivers/vfs0050.h:108: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. unsigned char interrupt[8]; data/libfprint-1.90.3/libfprint/drivers/vfs101.c:408:3: [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 (self->buffer, data, length); data/libfprint-1.90.3/libfprint/drivers/vfs101.c:424: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. unsigned char data[2][0x0e] = { data/libfprint-1.90.3/libfprint/drivers/vfs101.c:448: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. unsigned char data[0x0a] = { 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00 }; data/libfprint-1.90.3/libfprint/drivers/vfs101.c:467: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. unsigned char data[0x06] = { 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00 }; data/libfprint-1.90.3/libfprint/drivers/vfs101.c:483: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. unsigned char data[0x0f] = { 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; data/libfprint-1.90.3/libfprint/drivers/vfs101.c:507: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. unsigned char data[0x06] = { 0x00, 0x00, 0x00, 0x00, 0x16, 0x00 }; data/libfprint-1.90.3/libfprint/drivers/vfs101.c:627: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 (img_buffer, vdev_buffer, VFS_IMG_WIDTH); data/libfprint-1.90.3/libfprint/drivers/vfs301.h:97: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. unsigned char flags[3]; data/libfprint-1.90.3/libfprint/drivers/vfs301.h:101: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. unsigned char scan[VFS301_FP_WIDTH]; data/libfprint-1.90.3/libfprint/drivers/vfs301.h:112: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. unsigned char sync_0x08[2]; /* XXX: always? 0x08 0x08 */ data/libfprint-1.90.3/libfprint/drivers/vfs301.h:117: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. unsigned char scan[VFS301_FP_WIDTH]; data/libfprint-1.90.3/libfprint/drivers/vfs301.h:122: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. unsigned char mirror[64]; data/libfprint-1.90.3/libfprint/drivers/vfs301.h:125: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. unsigned char sum1[2]; data/libfprint-1.90.3/libfprint/drivers/vfs301.h:126: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. unsigned char sum2[11]; data/libfprint-1.90.3/libfprint/drivers/vfs301.h:127: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. unsigned char sum3[3]; data/libfprint-1.90.3/libfprint/drivers/vfs301_proto.c:356:3: [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 (output, scanlines, VFS301_FP_OUTPUT_WIDTH); data/libfprint-1.90.3/libfprint/drivers/vfs301_proto.c:369: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 ( data/libfprint-1.90.3/libfprint/drivers/vfs301_proto.c:413: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 (cur_line, lines[i].scan, VFS301_FP_OUTPUT_WIDTH); data/libfprint-1.90.3/libfprint/drivers/vfs301_proto.c:415: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 (cur_line, &lines[i], VFS301_FP_OUTPUT_WIDTH); data/libfprint-1.90.3/libfprint/fp-device.c:607:33: [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). FP_DEVICE_GET_CLASS (device)->open (device); data/libfprint-1.90.3/libfprint/fp-image.c:221: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. unsigned char rowbuf[width]; data/libfprint-1.90.3/libfprint/fp-image.c:230: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 (rowbuf, data + offset, width); data/libfprint-1.90.3/libfprint/fp-image.c:233: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 (data + offset, data + swap_offset, width); data/libfprint-1.90.3/libfprint/fp-image.c:236: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 (data + swap_offset, rowbuf, width); data/libfprint-1.90.3/libfprint/fp-image.c:243: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. unsigned char rowbuf[width]; data/libfprint-1.90.3/libfprint/fp-image.c:250: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 (rowbuf, data + offset, width); data/libfprint-1.90.3/libfprint/fp-image.c:452:3: [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 (data->image, self->data, self->width * self->height); data/libfprint-1.90.3/libfprint/fp-print.c:783:3: [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 (aligned_data, data + 3, length - 3); data/libfprint-1.90.3/libfprint/fp-print.c:853: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 (xyt->xcol, xcol, sizeof (xcol[0]) * xlen); data/libfprint-1.90.3/libfprint/fp-print.c:854: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 (xyt->ycol, ycol, sizeof (xcol[0]) * xlen); data/libfprint-1.90.3/libfprint/fp-print.c:855: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 (xyt->thetacol, thetacol, sizeof (xcol[0]) * xlen); data/libfprint-1.90.3/libfprint/fpi-assembling.h:38: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. unsigned char data[0]; data/libfprint-1.90.3/libfprint/fpi-byte-writer.h:311:3: [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 ((guint8 *) & writer->parent.data[writer->parent.byte], data, size); data/libfprint-1.90.3/libfprint/fpi-device.h:122:10: [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). void (*open) (FpDevice *device); data/libfprint-1.90.3/libfprint/fpi-image.c:142:3: [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 (newimg->data, pixman_image_get_data (resized), new_width * new_height); data/libfprint-1.90.3/libfprint/nbis/bozorth3/bz_io.c:103:8: [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 program_buffer[ 1024 ]; data/libfprint-1.90.3/libfprint/nbis/mindtct/detect.c: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(pdata, idata, iw*ih); data/libfprint-1.90.3/libfprint/nbis/mindtct/imgutil.c:203: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(pptr, iptr, iw); data/libfprint-1.90.3/libfprint/nbis/mindtct/maps.c:628:4: [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(direction_map, omap, mw*mh*sizeof(int)); data/libfprint-1.90.3/libfprint/nbis/mindtct/morph.c:94:4: [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(out, inp, iw*ih); data/libfprint-1.90.3/libfprint/nbis/mindtct/morph.c:134:4: [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(out, inp, iw*ih); data/libfprint-1.90.3/tests/test-fpi-device.c:397:58: [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). g_assert (fake_dev->last_called_function == dev_class->open); data/libfprint-1.90.3/tests/test-fpi-device.c:415:58: [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). g_assert (fake_dev->last_called_function == dev_class->open); data/libfprint-1.90.3/tests/test-fpi-device.c:1921:63: [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). g_assert_true (fake_dev->last_called_function == dev_class->open); data/libfprint-1.90.3/tests/test-fpi-device.c:1996:63: [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). g_assert_true (fake_dev->last_called_function == dev_class->open); data/libfprint-1.90.3/examples/enroll.c:174:3: [1] (buffer) getchar: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). getchar (); data/libfprint-1.90.3/libfprint/drivers/goodixmoc/goodix.c:860: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). user_id_len = strlen (user_id); data/libfprint-1.90.3/libfprint/drivers/synaptics/synaptics.c:785: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). user_id_len = strlen (user_id); data/libfprint-1.90.3/libfprint/drivers/upekts.c:117: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). memcpy (transfer->buffer, ciao, strlen (ciao)); data/libfprint-1.90.3/libfprint/drivers/vfs301_proto.c:175: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). tmp = strlen (src); data/libfprint-1.90.3/libfprint/fpi-print.c:326: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 (g_str_has_prefix (user_id, "FP1-") && strlen (user_id) >= 24 && data/libfprint-1.90.3/libfprint/fpi-print.c:355: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 (strlen (username) > 0 && g_strcmp0 (username, "nobody") != 0) ANALYSIS SUMMARY: Hits = 129 Lines analyzed = 79479 in approximately 2.86 seconds (27782 lines/second) Physical Source Lines of Code (SLOC) = 52866 Hits@level = [0] 117 [1] 7 [2] 109 [3] 12 [4] 1 [5] 0 Hits@level+ = [0+] 246 [1+] 129 [2+] 122 [3+] 13 [4+] 1 [5+] 0 Hits/KSLOC@level+ = [0+] 4.65327 [1+] 2.44013 [2+] 2.30772 [3+] 0.245905 [4+] 0.0189157 [5+] 0 Dot directories skipped = 3 (--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.