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/botan-2.17.2+dfsg/src/bogo_shim/bogo_shim.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/redc_p224.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/mode_padding.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/barrett.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/os2ecp.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/oaep.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/x509_dn.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/tls_client_hello.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/crl.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/divide.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/ecc_helper.h Examining data/botan-2.17.2+dfsg/src/fuzzer/pkcs1.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/asn1.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/bn_sqr.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/redc_p192.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/tls_client.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/uri.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/ecc_p256.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/pkcs8.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/redc_p521.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/ocsp.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/redc_p384.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/ecc_bp256.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/tls_server.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/fuzzers.h Examining data/botan-2.17.2+dfsg/src/fuzzer/redc_p256.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/invert.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/cert.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/ecc_p521.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/ressol.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/pow_mod.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/ecc_p384.cpp Examining data/botan-2.17.2+dfsg/src/fuzzer/mem_pool.cpp Examining data/botan-2.17.2+dfsg/src/cli/tls_http_server.cpp Examining data/botan-2.17.2+dfsg/src/cli/compress.cpp Examining data/botan-2.17.2+dfsg/src/cli/main.cpp Examining data/botan-2.17.2+dfsg/src/cli/pk_crypt.cpp Examining data/botan-2.17.2+dfsg/src/cli/hash.cpp Examining data/botan-2.17.2+dfsg/src/cli/cc_enc.cpp Examining data/botan-2.17.2+dfsg/src/cli/tls_helpers.h Examining data/botan-2.17.2+dfsg/src/cli/asn1.cpp Examining data/botan-2.17.2+dfsg/src/cli/socket_utils.h Examining data/botan-2.17.2+dfsg/src/cli/sandbox.cpp Examining data/botan-2.17.2+dfsg/src/cli/hmac.cpp Examining data/botan-2.17.2+dfsg/src/cli/tls_client.cpp Examining data/botan-2.17.2+dfsg/src/cli/argparse.h Examining data/botan-2.17.2+dfsg/src/cli/timing_tests.cpp Examining data/botan-2.17.2+dfsg/src/cli/bcrypt.cpp Examining data/botan-2.17.2+dfsg/src/cli/math.cpp Examining data/botan-2.17.2+dfsg/src/cli/cli.cpp Examining data/botan-2.17.2+dfsg/src/cli/entropy.cpp Examining data/botan-2.17.2+dfsg/src/cli/encryption.cpp Examining data/botan-2.17.2+dfsg/src/cli/codec.cpp Examining data/botan-2.17.2+dfsg/src/cli/tls_proxy.cpp Examining data/botan-2.17.2+dfsg/src/cli/cli.h Examining data/botan-2.17.2+dfsg/src/cli/utils.cpp Examining data/botan-2.17.2+dfsg/src/cli/psk.cpp Examining data/botan-2.17.2+dfsg/src/cli/tls_server.cpp Examining data/botan-2.17.2+dfsg/src/cli/cli_exceptions.h Examining data/botan-2.17.2+dfsg/src/cli/tss.cpp Examining data/botan-2.17.2+dfsg/src/cli/pubkey.cpp Examining data/botan-2.17.2+dfsg/src/cli/cli_rng.cpp Examining data/botan-2.17.2+dfsg/src/cli/pbkdf.cpp Examining data/botan-2.17.2+dfsg/src/cli/speed.cpp Examining data/botan-2.17.2+dfsg/src/cli/tls_utils.cpp Examining data/botan-2.17.2+dfsg/src/cli/argon2.cpp Examining data/botan-2.17.2+dfsg/src/cli/sandbox.h Examining data/botan-2.17.2+dfsg/src/cli/roughtime.cpp Examining data/botan-2.17.2+dfsg/src/cli/x509.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_dl_group.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_rsa.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_srp6.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_filters.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_ecc_pointmul.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_runner.h Examining data/botan-2.17.2+dfsg/src/tests/test_pkcs11_high_level.cpp Examining data/botan-2.17.2+dfsg/src/tests/unit_ecc.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_hash.cpp Examining data/botan-2.17.2+dfsg/src/tests/main.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_gf2m.cpp Examining data/botan-2.17.2+dfsg/src/tests/unit_tls_policy.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_ed25519.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_pbkdf.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_cryptobox.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_xmss.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_name_constraint.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_roughtime.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_mceliece.cpp Examining data/botan-2.17.2+dfsg/src/tests/unit_x509.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_block.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_certstor_utils.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_elg.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_ocb.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_certstor.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_certstor_utils.h Examining data/botan-2.17.2+dfsg/src/tests/test_mp.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_simd.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_blowfish.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_c25519.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_eckcdsa.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_siv.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_ocsp.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_otp.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_os_utils.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_modes.cpp Examining data/botan-2.17.2+dfsg/src/tests/tests.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_octetstring.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_certstor_flatfile.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_pem.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_ecdsa.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_tests.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_x509_dn.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_sodium.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_dsa.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_rng.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_pubkey.h Examining data/botan-2.17.2+dfsg/src/tests/test_compression.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_tls_messages.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_ecdh.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_runner.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_uri.cpp Examining data/botan-2.17.2+dfsg/src/tests/unit_ecdh.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_dh.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_utils.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_pkcs11.h Examining data/botan-2.17.2+dfsg/src/tests/test_bigint.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_sm2.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_entropy.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_gost_3410.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_tss.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_passhash.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_keywrap.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_asn1.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_pkcs11_low_level.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_tpm.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_workfactor.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_aead.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_rfc6979.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_fpe.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_thread_utils.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_stream.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_datastore.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_newhope.cpp Examining data/botan-2.17.2+dfsg/src/tests/unit_asio_stream.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_rng_kat.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_kdf.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_certstor_system.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_package_transform.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_pad.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_dlies.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_psk_db.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_x509_path.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_clang_bug.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_mac.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_tls_stream_integration.cpp Examining data/botan-2.17.2+dfsg/src/tests/tests.h Examining data/botan-2.17.2+dfsg/src/tests/test_rng.h Examining data/botan-2.17.2+dfsg/src/tests/test_ecies.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_ecgdsa.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_oid.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_hash_id.cpp Examining data/botan-2.17.2+dfsg/src/tests/unit_tls.cpp Examining data/botan-2.17.2+dfsg/src/tests/unit_ecdsa.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_pubkey.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_tls.cpp Examining data/botan-2.17.2+dfsg/src/tests/test_pk_pad.cpp Examining data/botan-2.17.2+dfsg/src/build-data/detect_arch.cpp Examining data/botan-2.17.2+dfsg/src/build-data/detect_version.cpp Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.h Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/bcrypt_pbkdf/bcrypt_pbkdf.cpp Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/pbkdf1/pbkdf1.cpp Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/pbkdf1/pbkdf1.h Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/pgp_s2k/pgp_s2k.h Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/pgp_s2k/pgp_s2k.cpp Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/pwdhash.cpp Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/scrypt/scrypt.cpp Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/scrypt/scrypt.h Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/pbkdf2/pbkdf2.cpp Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/pbkdf2/pbkdf2.h Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/argon2/argon2pwhash.cpp Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/argon2/argon2.h Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/argon2/argon2fmt.cpp Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/argon2/argon2.cpp Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/pbkdf.h Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/pwdhash.h Examining data/botan-2.17.2+dfsg/src/lib/pbkdf/pbkdf.cpp Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/padding.h Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/emsa_x931/emsa_x931.cpp Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/emsa_x931/emsa_x931.h Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/emsa.cpp Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.h Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/emsa_pkcs1/emsa_pkcs1.cpp Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/hash_id/hash_id.cpp Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/hash_id/hash_id.h Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/eme_pkcs1/eme_pkcs.h Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/eme_pkcs1/eme_pkcs.cpp Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/mgf1/mgf1.h Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/mgf1/mgf1.cpp Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/emsa.h Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/eme_raw/eme_raw.cpp Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/eme_raw/eme_raw.h Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/emsa1/emsa1.cpp Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/emsa1/emsa1.h Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/eme.h Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/eme.cpp Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/padding.cpp Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/emsa_raw/emsa_raw.h Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/emsa_raw/emsa_raw.cpp Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/eme_oaep/oaep.cpp Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/eme_oaep/oaep.h Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/emsa_pssr/pssr.h Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/emsa_pssr/pssr.cpp Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/iso9796/iso9796.cpp Examining data/botan-2.17.2+dfsg/src/lib/pk_pad/iso9796/iso9796.h Examining data/botan-2.17.2+dfsg/src/lib/prov/openssl/openssl_hash.cpp Examining data/botan-2.17.2+dfsg/src/lib/prov/openssl/openssl.h Examining data/botan-2.17.2+dfsg/src/lib/prov/openssl/openssl_ec.cpp Examining data/botan-2.17.2+dfsg/src/lib/prov/openssl/openssl_mode.cpp Examining data/botan-2.17.2+dfsg/src/lib/prov/openssl/openssl_block.cpp Examining data/botan-2.17.2+dfsg/src/lib/prov/openssl/openssl_rc4.cpp Examining data/botan-2.17.2+dfsg/src/lib/prov/openssl/openssl_rsa.cpp Examining data/botan-2.17.2+dfsg/src/lib/prov/commoncrypto/commoncrypto_utils.h Examining data/botan-2.17.2+dfsg/src/lib/prov/commoncrypto/commoncrypto_hash.cpp Examining data/botan-2.17.2+dfsg/src/lib/prov/commoncrypto/commoncrypto.h Examining data/botan-2.17.2+dfsg/src/lib/prov/commoncrypto/commoncrypto_mode.cpp Examining data/botan-2.17.2+dfsg/src/lib/prov/commoncrypto/commoncrypto_block.cpp Examining data/botan-2.17.2+dfsg/src/lib/prov/commoncrypto/commoncrypto_utils.cpp Examining data/botan-2.17.2+dfsg/src/lib/prov/tpm/tpm.h Examining data/botan-2.17.2+dfsg/src/lib/prov/tpm/tpm.cpp Examining data/botan-2.17.2+dfsg/src/lib/codec/base58/base58.h Examining data/botan-2.17.2+dfsg/src/lib/codec/base58/base58.cpp Examining data/botan-2.17.2+dfsg/src/lib/codec/base32/base32.h Examining data/botan-2.17.2+dfsg/src/lib/codec/base32/base32.cpp Examining data/botan-2.17.2+dfsg/src/lib/codec/base64/base64.h Examining data/botan-2.17.2+dfsg/src/lib/codec/base64/base64.cpp Examining data/botan-2.17.2+dfsg/src/lib/codec/hex/hex.cpp Examining data/botan-2.17.2+dfsg/src/lib/codec/hex/hex.h Examining data/botan-2.17.2+dfsg/src/lib/utils/timer.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/cpuid/cpuid_ppc.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/cpuid/cpuid.h Examining data/botan-2.17.2+dfsg/src/lib/utils/cpuid/cpuid_arm.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/cpuid/cpuid_x86.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/cpuid/cpuid.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/exceptn.h Examining data/botan-2.17.2+dfsg/src/lib/utils/socket/socket.h Examining data/botan-2.17.2+dfsg/src/lib/utils/socket/uri.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/socket/socket_udp.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/socket/uri.h Examining data/botan-2.17.2+dfsg/src/lib/utils/socket/socket.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/socket/socket_udp.h Examining data/botan-2.17.2+dfsg/src/lib/utils/parsing.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/os_utils.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/donna128.h Examining data/botan-2.17.2+dfsg/src/lib/utils/filesystem.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/bswap.h Examining data/botan-2.17.2+dfsg/src/lib/utils/exceptn.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/stl_util.h Examining data/botan-2.17.2+dfsg/src/lib/utils/read_cfg.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/timer.h Examining data/botan-2.17.2+dfsg/src/lib/utils/read_kv.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/ct_utils.h Examining data/botan-2.17.2+dfsg/src/lib/utils/calendar.h Examining data/botan-2.17.2+dfsg/src/lib/utils/calendar.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/mul128.h Examining data/botan-2.17.2+dfsg/src/lib/utils/version.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/parsing.h Examining data/botan-2.17.2+dfsg/src/lib/utils/uuid/uuid.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/uuid/uuid.h Examining data/botan-2.17.2+dfsg/src/lib/utils/data_src.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/rotate.h Examining data/botan-2.17.2+dfsg/src/lib/utils/compiler.h Examining data/botan-2.17.2+dfsg/src/lib/utils/safeint.h Examining data/botan-2.17.2+dfsg/src/lib/utils/http_util/http_util.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/http_util/http_util.h Examining data/botan-2.17.2+dfsg/src/lib/utils/mem_ops.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/mutex.h Examining data/botan-2.17.2+dfsg/src/lib/utils/dyn_load/dyn_load.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/dyn_load/dyn_load.h Examining data/botan-2.17.2+dfsg/src/lib/utils/types.h Examining data/botan-2.17.2+dfsg/src/lib/utils/thread_utils/thread_pool.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/thread_utils/rwlock.h Examining data/botan-2.17.2+dfsg/src/lib/utils/thread_utils/barrier.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/thread_utils/semaphore.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/thread_utils/semaphore.h Examining data/botan-2.17.2+dfsg/src/lib/utils/thread_utils/rwlock.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/thread_utils/thread_pool.h Examining data/botan-2.17.2+dfsg/src/lib/utils/thread_utils/barrier.h Examining data/botan-2.17.2+dfsg/src/lib/utils/version.h Examining data/botan-2.17.2+dfsg/src/lib/utils/codec_base.h Examining data/botan-2.17.2+dfsg/src/lib/utils/mem_pool/mem_pool.h Examining data/botan-2.17.2+dfsg/src/lib/utils/mem_pool/mem_pool.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/mem_ops.h Examining data/botan-2.17.2+dfsg/src/lib/utils/assert.h Examining data/botan-2.17.2+dfsg/src/lib/utils/rounding.h Examining data/botan-2.17.2+dfsg/src/lib/utils/ct_utils.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/charset.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/poly_dbl/poly_dbl.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/poly_dbl/poly_dbl.h Examining data/botan-2.17.2+dfsg/src/lib/utils/sqlite3/sqlite3.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/sqlite3/sqlite3.h Examining data/botan-2.17.2+dfsg/src/lib/utils/charset.h Examining data/botan-2.17.2+dfsg/src/lib/utils/os_utils.h Examining data/botan-2.17.2+dfsg/src/lib/utils/locking_allocator/locking_allocator.h Examining data/botan-2.17.2+dfsg/src/lib/utils/locking_allocator/locking_allocator.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/prefetch.h Examining data/botan-2.17.2+dfsg/src/lib/utils/bit_ops.h Examining data/botan-2.17.2+dfsg/src/lib/utils/database.h Examining data/botan-2.17.2+dfsg/src/lib/utils/filesystem.h Examining data/botan-2.17.2+dfsg/src/lib/utils/assert.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/stl_compatibility.h Examining data/botan-2.17.2+dfsg/src/lib/utils/simd/simd_avx2/simd_avx2.h Examining data/botan-2.17.2+dfsg/src/lib/utils/simd/simd_32.h Examining data/botan-2.17.2+dfsg/src/lib/utils/data_src.h Examining data/botan-2.17.2+dfsg/src/lib/utils/loadstor.h Examining data/botan-2.17.2+dfsg/src/lib/utils/ghash/ghash_cpu/ghash_cpu.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/ghash/ghash.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/ghash/ghash_vperm/ghash_vperm.cpp Examining data/botan-2.17.2+dfsg/src/lib/utils/ghash/ghash.h Examining data/botan-2.17.2+dfsg/src/lib/filters/hex_filt.h Examining data/botan-2.17.2+dfsg/src/lib/filters/algo_filt.cpp Examining data/botan-2.17.2+dfsg/src/lib/filters/basefilt.cpp Examining data/botan-2.17.2+dfsg/src/lib/filters/filters.h Examining data/botan-2.17.2+dfsg/src/lib/filters/comp_filter.cpp Examining data/botan-2.17.2+dfsg/src/lib/filters/buf_filt.cpp Examining data/botan-2.17.2+dfsg/src/lib/filters/filter.h Examining data/botan-2.17.2+dfsg/src/lib/filters/out_buf.h Examining data/botan-2.17.2+dfsg/src/lib/filters/pipe_io.cpp Examining data/botan-2.17.2+dfsg/src/lib/filters/key_filt.h Examining data/botan-2.17.2+dfsg/src/lib/filters/data_snk.cpp Examining data/botan-2.17.2+dfsg/src/lib/filters/b64_filt.cpp Examining data/botan-2.17.2+dfsg/src/lib/filters/basefilt.h Examining data/botan-2.17.2+dfsg/src/lib/filters/cipher_filter.h Examining data/botan-2.17.2+dfsg/src/lib/filters/b64_filt.h Examining data/botan-2.17.2+dfsg/src/lib/filters/pipe_rw.cpp Examining data/botan-2.17.2+dfsg/src/lib/filters/secqueue.h Examining data/botan-2.17.2+dfsg/src/lib/filters/pipe.cpp Examining data/botan-2.17.2+dfsg/src/lib/filters/cipher_filter.cpp Examining data/botan-2.17.2+dfsg/src/lib/filters/comp_filter.h Examining data/botan-2.17.2+dfsg/src/lib/filters/pipe.h Examining data/botan-2.17.2+dfsg/src/lib/filters/fd_unix/fd_unix.h Examining data/botan-2.17.2+dfsg/src/lib/filters/fd_unix/fd_unix.cpp Examining data/botan-2.17.2+dfsg/src/lib/filters/data_snk.h Examining data/botan-2.17.2+dfsg/src/lib/filters/hex_filt.cpp Examining data/botan-2.17.2+dfsg/src/lib/filters/out_buf.cpp Examining data/botan-2.17.2+dfsg/src/lib/filters/secqueue.cpp Examining data/botan-2.17.2+dfsg/src/lib/filters/threaded_fork.cpp Examining data/botan-2.17.2+dfsg/src/lib/filters/buf_filt.h Examining data/botan-2.17.2+dfsg/src/lib/filters/filter.cpp Examining data/botan-2.17.2+dfsg/src/lib/mac/mac.cpp Examining data/botan-2.17.2+dfsg/src/lib/mac/hmac/hmac.h Examining data/botan-2.17.2+dfsg/src/lib/mac/hmac/hmac.cpp Examining data/botan-2.17.2+dfsg/src/lib/mac/siphash/siphash.cpp Examining data/botan-2.17.2+dfsg/src/lib/mac/siphash/siphash.h Examining data/botan-2.17.2+dfsg/src/lib/mac/poly1305/poly1305.cpp Examining data/botan-2.17.2+dfsg/src/lib/mac/poly1305/poly1305.h Examining data/botan-2.17.2+dfsg/src/lib/mac/cbc_mac/cbc_mac.h Examining data/botan-2.17.2+dfsg/src/lib/mac/cbc_mac/cbc_mac.cpp Examining data/botan-2.17.2+dfsg/src/lib/mac/mac.h Examining data/botan-2.17.2+dfsg/src/lib/mac/x919_mac/x919_mac.h Examining data/botan-2.17.2+dfsg/src/lib/mac/x919_mac/x919_mac.cpp Examining data/botan-2.17.2+dfsg/src/lib/mac/cmac/cmac.cpp Examining data/botan-2.17.2+dfsg/src/lib/mac/cmac/cmac.h Examining data/botan-2.17.2+dfsg/src/lib/mac/gmac/gmac.cpp Examining data/botan-2.17.2+dfsg/src/lib/mac/gmac/gmac.h Examining data/botan-2.17.2+dfsg/src/lib/modes/cbc/cbc.h Examining data/botan-2.17.2+dfsg/src/lib/modes/cbc/cbc.cpp Examining data/botan-2.17.2+dfsg/src/lib/modes/mode_pad/mode_pad.h Examining data/botan-2.17.2+dfsg/src/lib/modes/mode_pad/mode_pad.cpp Examining data/botan-2.17.2+dfsg/src/lib/modes/cipher_mode.cpp Examining data/botan-2.17.2+dfsg/src/lib/modes/cipher_mode.h Examining data/botan-2.17.2+dfsg/src/lib/modes/xts/xts.h Examining data/botan-2.17.2+dfsg/src/lib/modes/xts/xts.cpp Examining data/botan-2.17.2+dfsg/src/lib/modes/aead/eax/eax.cpp Examining data/botan-2.17.2+dfsg/src/lib/modes/aead/eax/eax.h Examining data/botan-2.17.2+dfsg/src/lib/modes/aead/aead.cpp Examining data/botan-2.17.2+dfsg/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.cpp Examining data/botan-2.17.2+dfsg/src/lib/modes/aead/chacha20poly1305/chacha20poly1305.h Examining data/botan-2.17.2+dfsg/src/lib/modes/aead/ocb/ocb.cpp Examining data/botan-2.17.2+dfsg/src/lib/modes/aead/ocb/ocb.h Examining data/botan-2.17.2+dfsg/src/lib/modes/aead/aead.h Examining data/botan-2.17.2+dfsg/src/lib/modes/aead/gcm/gcm.cpp Examining data/botan-2.17.2+dfsg/src/lib/modes/aead/gcm/gcm.h Examining data/botan-2.17.2+dfsg/src/lib/modes/aead/ccm/ccm.cpp Examining data/botan-2.17.2+dfsg/src/lib/modes/aead/ccm/ccm.h Examining data/botan-2.17.2+dfsg/src/lib/modes/aead/siv/siv.cpp Examining data/botan-2.17.2+dfsg/src/lib/modes/aead/siv/siv.h Examining data/botan-2.17.2+dfsg/src/lib/modes/cfb/cfb.h Examining data/botan-2.17.2+dfsg/src/lib/modes/cfb/cfb.cpp Examining data/botan-2.17.2+dfsg/src/lib/modes/stream_mode.h Examining data/botan-2.17.2+dfsg/src/lib/psk_db/psk_db_sql.cpp Examining data/botan-2.17.2+dfsg/src/lib/psk_db/psk_db.h Examining data/botan-2.17.2+dfsg/src/lib/psk_db/psk_db_sql.h Examining data/botan-2.17.2+dfsg/src/lib/psk_db/psk_db.cpp Examining data/botan-2.17.2+dfsg/src/lib/entropy/entropy_srcs.cpp Examining data/botan-2.17.2+dfsg/src/lib/entropy/win32_stats/es_win32.cpp Examining data/botan-2.17.2+dfsg/src/lib/entropy/win32_stats/es_win32.h Examining data/botan-2.17.2+dfsg/src/lib/entropy/proc_walk/proc_walk.cpp Examining data/botan-2.17.2+dfsg/src/lib/entropy/proc_walk/proc_walk.h Examining data/botan-2.17.2+dfsg/src/lib/entropy/getentropy/getentropy.h Examining data/botan-2.17.2+dfsg/src/lib/entropy/getentropy/getentropy.cpp Examining data/botan-2.17.2+dfsg/src/lib/entropy/dev_random/dev_random.h Examining data/botan-2.17.2+dfsg/src/lib/entropy/dev_random/dev_random.cpp Examining data/botan-2.17.2+dfsg/src/lib/entropy/entropy_src.h Examining data/botan-2.17.2+dfsg/src/lib/entropy/rdseed/rdseed.h Examining data/botan-2.17.2+dfsg/src/lib/entropy/rdseed/rdseed.cpp Examining data/botan-2.17.2+dfsg/src/lib/passhash/passhash9/passhash9.h Examining data/botan-2.17.2+dfsg/src/lib/passhash/passhash9/passhash9.cpp Examining data/botan-2.17.2+dfsg/src/lib/passhash/bcrypt/bcrypt.h Examining data/botan-2.17.2+dfsg/src/lib/passhash/bcrypt/bcrypt.cpp Examining data/botan-2.17.2+dfsg/src/lib/misc/fpe_fe1/fpe_fe1.h Examining data/botan-2.17.2+dfsg/src/lib/misc/fpe_fe1/fpe_fe1.cpp Examining data/botan-2.17.2+dfsg/src/lib/misc/hotp/hotp.h Examining data/botan-2.17.2+dfsg/src/lib/misc/hotp/totp.h Examining data/botan-2.17.2+dfsg/src/lib/misc/hotp/hotp.cpp Examining data/botan-2.17.2+dfsg/src/lib/misc/hotp/otp.h Examining data/botan-2.17.2+dfsg/src/lib/misc/hotp/totp.cpp Examining data/botan-2.17.2+dfsg/src/lib/misc/aont/package.h Examining data/botan-2.17.2+dfsg/src/lib/misc/aont/package.cpp Examining data/botan-2.17.2+dfsg/src/lib/misc/nist_keywrap/nist_keywrap.cpp Examining data/botan-2.17.2+dfsg/src/lib/misc/nist_keywrap/nist_keywrap.h Examining data/botan-2.17.2+dfsg/src/lib/misc/rfc3394/rfc3394.h Examining data/botan-2.17.2+dfsg/src/lib/misc/rfc3394/rfc3394.cpp Examining data/botan-2.17.2+dfsg/src/lib/misc/cryptobox/cryptobox.cpp Examining data/botan-2.17.2+dfsg/src/lib/misc/cryptobox/cryptobox.h Examining data/botan-2.17.2+dfsg/src/lib/misc/tss/tss.h Examining data/botan-2.17.2+dfsg/src/lib/misc/tss/tss.cpp Examining data/botan-2.17.2+dfsg/src/lib/misc/roughtime/roughtime.h Examining data/botan-2.17.2+dfsg/src/lib/misc/roughtime/roughtime.cpp Examining data/botan-2.17.2+dfsg/src/lib/misc/srp6/srp6.h Examining data/botan-2.17.2+dfsg/src/lib/misc/srp6/srp6.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/bigint/divide.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/bigint/big_ops2.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/bigint/bigint.h Examining data/botan-2.17.2+dfsg/src/lib/math/bigint/bigint.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/bigint/big_rand.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/bigint/big_io.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/bigint/big_code.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/bigint/big_ops3.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/bigint/divide.h Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/primality.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/monty_exp.h Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/reducer.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/monty.h Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/dsa_gen.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/mod_inv.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/mp_numth.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/nistp_redc.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/primality.h Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/monty_exp.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/pow_mod.h Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/monty.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/reducer.h Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/numthry.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/numthry.h Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/make_prm.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/primes.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/ressol.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/jacobi.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/pow_mod.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/numbertheory/curve_nistp.h Examining data/botan-2.17.2+dfsg/src/lib/math/mp/mp_monty.h Examining data/botan-2.17.2+dfsg/src/lib/math/mp/mp_monty.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/mp/mp_monty_n.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/mp/mp_comba.cpp Examining data/botan-2.17.2+dfsg/src/lib/math/mp/mp_core.h Examining data/botan-2.17.2+dfsg/src/lib/math/mp/mp_madd.h Examining data/botan-2.17.2+dfsg/src/lib/math/mp/mp_asmi.h Examining data/botan-2.17.2+dfsg/src/lib/math/mp/mp_karat.cpp Examining data/botan-2.17.2+dfsg/src/lib/stream/stream_cipher.cpp Examining data/botan-2.17.2+dfsg/src/lib/stream/ctr/ctr.h Examining data/botan-2.17.2+dfsg/src/lib/stream/ctr/ctr.cpp Examining data/botan-2.17.2+dfsg/src/lib/stream/salsa20/salsa20.h Examining data/botan-2.17.2+dfsg/src/lib/stream/salsa20/salsa20.cpp Examining data/botan-2.17.2+dfsg/src/lib/stream/shake_cipher/shake_cipher.cpp Examining data/botan-2.17.2+dfsg/src/lib/stream/shake_cipher/shake_cipher.h Examining data/botan-2.17.2+dfsg/src/lib/stream/chacha/chacha_simd32/chacha_simd32.cpp Examining data/botan-2.17.2+dfsg/src/lib/stream/chacha/chacha_avx2/chacha_avx2.cpp Examining data/botan-2.17.2+dfsg/src/lib/stream/chacha/chacha.cpp Examining data/botan-2.17.2+dfsg/src/lib/stream/chacha/chacha.h Examining data/botan-2.17.2+dfsg/src/lib/stream/stream_cipher.h Examining data/botan-2.17.2+dfsg/src/lib/stream/rc4/rc4.cpp Examining data/botan-2.17.2+dfsg/src/lib/stream/rc4/rc4.h Examining data/botan-2.17.2+dfsg/src/lib/stream/ofb/ofb.cpp Examining data/botan-2.17.2+dfsg/src/lib/stream/ofb/ofb.h Examining data/botan-2.17.2+dfsg/src/lib/compat/sodium/sodium_aead.cpp Examining data/botan-2.17.2+dfsg/src/lib/compat/sodium/sodium_25519.cpp Examining data/botan-2.17.2+dfsg/src/lib/compat/sodium/sodium_auth.cpp Examining data/botan-2.17.2+dfsg/src/lib/compat/sodium/sodium_utils.cpp Examining data/botan-2.17.2+dfsg/src/lib/compat/sodium/sodium_salsa.cpp Examining data/botan-2.17.2+dfsg/src/lib/compat/sodium/sodium_secretbox.cpp Examining data/botan-2.17.2+dfsg/src/lib/compat/sodium/sodium_chacha.cpp Examining data/botan-2.17.2+dfsg/src/lib/compat/sodium/sodium_box.cpp Examining data/botan-2.17.2+dfsg/src/lib/compat/sodium/sodium.h Examining data/botan-2.17.2+dfsg/src/lib/kdf/kdf.h Examining data/botan-2.17.2+dfsg/src/lib/kdf/sp800_108/sp800_108.cpp Examining data/botan-2.17.2+dfsg/src/lib/kdf/sp800_108/sp800_108.h Examining data/botan-2.17.2+dfsg/src/lib/kdf/kdf.cpp Examining data/botan-2.17.2+dfsg/src/lib/kdf/prf_tls/prf_tls.cpp Examining data/botan-2.17.2+dfsg/src/lib/kdf/prf_tls/prf_tls.h Examining data/botan-2.17.2+dfsg/src/lib/kdf/prf_x942/prf_x942.cpp Examining data/botan-2.17.2+dfsg/src/lib/kdf/prf_x942/prf_x942.h Examining data/botan-2.17.2+dfsg/src/lib/kdf/sp800_56a/sp800_56a.cpp Examining data/botan-2.17.2+dfsg/src/lib/kdf/sp800_56a/sp800_56a.h Examining data/botan-2.17.2+dfsg/src/lib/kdf/kdf1/kdf1.cpp Examining data/botan-2.17.2+dfsg/src/lib/kdf/kdf1/kdf1.h Examining data/botan-2.17.2+dfsg/src/lib/kdf/sp800_56c/sp800_56c.h Examining data/botan-2.17.2+dfsg/src/lib/kdf/sp800_56c/sp800_56c.cpp Examining data/botan-2.17.2+dfsg/src/lib/kdf/hkdf/hkdf.h Examining data/botan-2.17.2+dfsg/src/lib/kdf/hkdf/hkdf.cpp Examining data/botan-2.17.2+dfsg/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.h Examining data/botan-2.17.2+dfsg/src/lib/kdf/kdf1_iso18033/kdf1_iso18033.cpp Examining data/botan-2.17.2+dfsg/src/lib/kdf/kdf2/kdf2.cpp Examining data/botan-2.17.2+dfsg/src/lib/kdf/kdf2/kdf2.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_cbc/tls_cbc.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_cbc/tls_cbc.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_messages.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_exceptn.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_session_manager.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_ciphersuite.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_suite_info.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_alert.h Examining data/botan-2.17.2+dfsg/src/lib/tls/sessions_sql/tls_session_manager_sql.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/sessions_sql/tls_session_manager_sql.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_extensions.h Examining data/botan-2.17.2+dfsg/src/lib/tls/sessions_sqlite3/tls_session_manager_sqlite.h Examining data/botan-2.17.2+dfsg/src/lib/tls/sessions_sqlite3/tls_session_manager_sqlite.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_server.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_client.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_handshake_state.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/credentials_manager.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/msg_cert_req.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_ciphersuite.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_record.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_client.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_callbacks.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_policy.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/msg_finished.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_version.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_blocking.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_handshake_state.h Examining data/botan-2.17.2+dfsg/src/lib/tls/msg_client_kex.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/msg_session_ticket.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_handshake_hash.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_handshake_io.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_handshake_hash.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_handshake_io.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_handshake_msg.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_alert.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_server_info.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_session_key.h Examining data/botan-2.17.2+dfsg/src/lib/tls/msg_client_hello.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/msg_hello_verify.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_session.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/credentials_manager.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_magic.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_session.h Examining data/botan-2.17.2+dfsg/src/lib/tls/msg_server_hello.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_blocking.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_server.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/msg_cert_verify.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_context.h Examining data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h Examining data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_error.h Examining data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_async_ops.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_channel.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/msg_cert_status.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_record.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_session_manager_memory.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_text_policy.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_policy.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_algos.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_algos.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_extensions.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_version.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_channel.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_callbacks.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_reader.h Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_seq_numbers.h Examining data/botan-2.17.2+dfsg/src/lib/tls/msg_server_kex.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/tls_session_key.cpp Examining data/botan-2.17.2+dfsg/src/lib/tls/msg_certificate.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/pkix_types.h Examining data/botan-2.17.2+dfsg/src/lib/x509/datastor.h Examining data/botan-2.17.2+dfsg/src/lib/x509/x509_obj.h Examining data/botan-2.17.2+dfsg/src/lib/x509/x509_dn_ub.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/x509_dn.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/x509_ca.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/asn1_alt_name.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/x509cert.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/pkcs10.h Examining data/botan-2.17.2+dfsg/src/lib/x509/name_constraint.h Examining data/botan-2.17.2+dfsg/src/lib/x509/x509_crl.h Examining data/botan-2.17.2+dfsg/src/lib/x509/certstor_sqlite3/certstor_sqlite.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/certstor_sqlite3/certstor_sqlite.h Examining data/botan-2.17.2+dfsg/src/lib/x509/certstor_sql/certstor_sql.h Examining data/botan-2.17.2+dfsg/src/lib/x509/certstor_sql/certstor_sql.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/ocsp.h Examining data/botan-2.17.2+dfsg/src/lib/x509/certstor_system_macos/certstor_macos.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/certstor_system_macos/certstor_macos.h Examining data/botan-2.17.2+dfsg/src/lib/x509/certstor.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/pkcs10.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/name_constraint.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/datastor.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/certstor_system/certstor_system.h Examining data/botan-2.17.2+dfsg/src/lib/x509/certstor_system/certstor_system.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/x509self.h Examining data/botan-2.17.2+dfsg/src/lib/x509/x509_ca.h Examining data/botan-2.17.2+dfsg/src/lib/x509/x509_attribute.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/x509cert.h Examining data/botan-2.17.2+dfsg/src/lib/x509/ocsp_types.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/x509_ext.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/certstor_system_windows/certstor_windows.h Examining data/botan-2.17.2+dfsg/src/lib/x509/certstor_system_windows/certstor_windows.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/asn1_alt_name.h Examining data/botan-2.17.2+dfsg/src/lib/x509/key_constraint.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/x509_dn.h Examining data/botan-2.17.2+dfsg/src/lib/x509/ocsp.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/cert_status.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/x509path.h Examining data/botan-2.17.2+dfsg/src/lib/x509/asn1_attribute.h Examining data/botan-2.17.2+dfsg/src/lib/x509/x509path.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/x509opt.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/crl_ent.h Examining data/botan-2.17.2+dfsg/src/lib/x509/cert_status.h Examining data/botan-2.17.2+dfsg/src/lib/x509/x509_crl.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/x509self.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/crl_ent.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/key_constraint.h Examining data/botan-2.17.2+dfsg/src/lib/x509/certstor_flatfile/certstor_flatfile.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/certstor_flatfile/certstor_flatfile.h Examining data/botan-2.17.2+dfsg/src/lib/x509/x509_ext.h Examining data/botan-2.17.2+dfsg/src/lib/x509/certstor.h Examining data/botan-2.17.2+dfsg/src/lib/x509/x509_obj.cpp Examining data/botan-2.17.2+dfsg/src/lib/x509/pkix_enums.h Examining data/botan-2.17.2+dfsg/src/lib/x509/ocsp_types.h Examining data/botan-2.17.2+dfsg/src/lib/hash/md4/md4.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/md4/md4.h Examining data/botan-2.17.2+dfsg/src/lib/hash/sha3/sha3.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/sha3/sha3_bmi2/sha3_bmi2.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/sha3/sha3.h Examining data/botan-2.17.2+dfsg/src/lib/hash/sha1/sha1_sse2/sha1_sse2.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/sha1/sha1_x86/sha1_x86.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/sha1/sha1_armv8/sha1_armv8.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/sha1/sha160.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/sha1/sha160.h Examining data/botan-2.17.2+dfsg/src/lib/hash/rmd160/rmd160.h Examining data/botan-2.17.2+dfsg/src/lib/hash/rmd160/rmd160.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/hash.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/sm3/sm3.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/sm3/sm3.h Examining data/botan-2.17.2+dfsg/src/lib/hash/hash.h Examining data/botan-2.17.2+dfsg/src/lib/hash/sha2_64/sha2_64.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/sha2_64/sha2_64_bmi2/sha2_64_bmi2.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/sha2_64/sha2_64.h Examining data/botan-2.17.2+dfsg/src/lib/hash/streebog/streebog.h Examining data/botan-2.17.2+dfsg/src/lib/hash/streebog/streebog.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/streebog/streebog_precalc.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/shake/shake.h Examining data/botan-2.17.2+dfsg/src/lib/hash/shake/shake.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/checksum/crc24/crc24.h Examining data/botan-2.17.2+dfsg/src/lib/hash/checksum/crc24/crc24.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/checksum/crc32/crc32.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/checksum/crc32/crc32.h Examining data/botan-2.17.2+dfsg/src/lib/hash/checksum/adler32/adler32.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/checksum/adler32/adler32.h Examining data/botan-2.17.2+dfsg/src/lib/hash/comb4p/comb4p.h Examining data/botan-2.17.2+dfsg/src/lib/hash/comb4p/comb4p.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/whirlpool/whrlpool.h Examining data/botan-2.17.2+dfsg/src/lib/hash/whirlpool/whirlpool.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/whirlpool/whrl_tab.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/blake2/blake2b.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/blake2/blake2b.h Examining data/botan-2.17.2+dfsg/src/lib/hash/gost_3411/gost_3411.h Examining data/botan-2.17.2+dfsg/src/lib/hash/gost_3411/gost_3411.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/keccak/keccak.h Examining data/botan-2.17.2+dfsg/src/lib/hash/keccak/keccak.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/par_hash/par_hash.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/par_hash/par_hash.h Examining data/botan-2.17.2+dfsg/src/lib/hash/mdx_hash/mdx_hash.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/mdx_hash/mdx_hash.h Examining data/botan-2.17.2+dfsg/src/lib/hash/sha2_32/sha2_32_x86/sha2_32_x86.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/sha2_32/sha2_32_bmi2/sha2_32_bmi2.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/sha2_32/sha2_32.h Examining data/botan-2.17.2+dfsg/src/lib/hash/sha2_32/sha2_32_armv8/sha2_32_armv8.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/sha2_32/sha2_32.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/md5/md5.h Examining data/botan-2.17.2+dfsg/src/lib/hash/md5/md5.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/tiger/tiger.h Examining data/botan-2.17.2+dfsg/src/lib/hash/tiger/tig_tab.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/tiger/tiger.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/skein/skein_512.cpp Examining data/botan-2.17.2+dfsg/src/lib/hash/skein/skein_512.h Examining data/botan-2.17.2+dfsg/src/lib/base/scan_name.cpp Examining data/botan-2.17.2+dfsg/src/lib/base/buf_comp.h Examining data/botan-2.17.2+dfsg/src/lib/base/buf_comp.cpp Examining data/botan-2.17.2+dfsg/src/lib/base/scan_name.h Examining data/botan-2.17.2+dfsg/src/lib/base/symkey.h Examining data/botan-2.17.2+dfsg/src/lib/base/init.h Examining data/botan-2.17.2+dfsg/src/lib/base/lookup.h Examining data/botan-2.17.2+dfsg/src/lib/base/secmem.h Examining data/botan-2.17.2+dfsg/src/lib/base/key_spec.h Examining data/botan-2.17.2+dfsg/src/lib/base/botan.h Examining data/botan-2.17.2+dfsg/src/lib/base/sym_algo.h Examining data/botan-2.17.2+dfsg/src/lib/base/sym_algo.cpp Examining data/botan-2.17.2+dfsg/src/lib/base/symkey.cpp Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_keywrap.cpp Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_cert.cpp Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi.h Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_kdf.cpp Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_rng.h Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_hotp.cpp Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi.cpp Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_pkey.h Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_fpe.cpp Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_hash.cpp Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_pk_op.cpp Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_pkey_algs.cpp Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_mp.h Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_util.h Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_mp.cpp Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_pkey.cpp Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_mac.cpp Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_rng.cpp Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_cipher.cpp Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_totp.cpp Examining data/botan-2.17.2+dfsg/src/lib/ffi/ffi_block.cpp Examining data/botan-2.17.2+dfsg/src/lib/compression/compress_utils.cpp Examining data/botan-2.17.2+dfsg/src/lib/compression/zlib/zlib.cpp Examining data/botan-2.17.2+dfsg/src/lib/compression/zlib/zlib.h Examining data/botan-2.17.2+dfsg/src/lib/compression/compression.h Examining data/botan-2.17.2+dfsg/src/lib/compression/compress_utils.h Examining data/botan-2.17.2+dfsg/src/lib/compression/lzma/lzma.cpp Examining data/botan-2.17.2+dfsg/src/lib/compression/lzma/lzma.h Examining data/botan-2.17.2+dfsg/src/lib/compression/compression.cpp Examining data/botan-2.17.2+dfsg/src/lib/compression/bzip2/bzip2.h Examining data/botan-2.17.2+dfsg/src/lib/compression/bzip2/bzip2.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/lion/lion.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/lion/lion.h Examining data/botan-2.17.2+dfsg/src/lib/block/cast128/cast128.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/cast128/cast_sboxes.h Examining data/botan-2.17.2+dfsg/src/lib/block/cast128/cast128.h Examining data/botan-2.17.2+dfsg/src/lib/block/seed/seed.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/seed/seed.h Examining data/botan-2.17.2+dfsg/src/lib/block/des/desx.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/des/des.h Examining data/botan-2.17.2+dfsg/src/lib/block/des/desx.h Examining data/botan-2.17.2+dfsg/src/lib/block/des/des_tab.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/des/des.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/block_cipher.h Examining data/botan-2.17.2+dfsg/src/lib/block/misty1/misty1.h Examining data/botan-2.17.2+dfsg/src/lib/block/misty1/misty1.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/aes/aes_armv8/aes_armv8.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/aes/aes_ni/aes_ni.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/aes/aes.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/aes/aes.h Examining data/botan-2.17.2+dfsg/src/lib/block/aes/aes_vperm/aes_vperm.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/aes/aes_power8/aes_power8.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/noekeon/noekeon.h Examining data/botan-2.17.2+dfsg/src/lib/block/noekeon/noekeon.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/noekeon/noekeon_simd/noekeon_simd.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/threefish_512/threefish.h Examining data/botan-2.17.2+dfsg/src/lib/block/threefish_512/threefish_512.h Examining data/botan-2.17.2+dfsg/src/lib/block/threefish_512/threefish_512.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/threefish_512/threefish_512_avx2/threefish_512_avx2.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/sm4/sm4.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/sm4/sm4.h Examining data/botan-2.17.2+dfsg/src/lib/block/sm4/sm4_armv8/sm4_armv8.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/kasumi/kasumi.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/kasumi/kasumi.h Examining data/botan-2.17.2+dfsg/src/lib/block/idea/idea.h Examining data/botan-2.17.2+dfsg/src/lib/block/idea/idea_sse2/idea_sse2.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/idea/idea.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/serpent/serpent_avx2/serpent_avx2.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/serpent/serpent.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/serpent/serpent_sbox.h Examining data/botan-2.17.2+dfsg/src/lib/block/serpent/serpent.h Examining data/botan-2.17.2+dfsg/src/lib/block/serpent/serpent_simd/serpent_simd.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/xtea/xtea.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/xtea/xtea.h Examining data/botan-2.17.2+dfsg/src/lib/block/blowfish/blowfish.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/blowfish/blowfish.h Examining data/botan-2.17.2+dfsg/src/lib/block/cast256/cast256.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/cast256/cast256.h Examining data/botan-2.17.2+dfsg/src/lib/block/gost_28147/gost_28147.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/gost_28147/gost_28147.h Examining data/botan-2.17.2+dfsg/src/lib/block/twofish/twofish.h Examining data/botan-2.17.2+dfsg/src/lib/block/twofish/twofish.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/twofish/twofish_tab.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/cascade/cascade.h Examining data/botan-2.17.2+dfsg/src/lib/block/cascade/cascade.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/aria/aria.h Examining data/botan-2.17.2+dfsg/src/lib/block/aria/aria.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/shacal2/shacal2_avx2/shacal2_avx2.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/shacal2/shacal2.h Examining data/botan-2.17.2+dfsg/src/lib/block/shacal2/shacal2_x86/shacal2_x86.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/shacal2/shacal2_simd/shacal2_simd.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/shacal2/shacal2.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/block_cipher.cpp Examining data/botan-2.17.2+dfsg/src/lib/block/camellia/camellia.h Examining data/botan-2.17.2+dfsg/src/lib/block/camellia/camellia.cpp Examining data/botan-2.17.2+dfsg/src/lib/rng/system_rng/system_rng.h Examining data/botan-2.17.2+dfsg/src/lib/rng/system_rng/system_rng.cpp Examining data/botan-2.17.2+dfsg/src/lib/rng/rng.h Examining data/botan-2.17.2+dfsg/src/lib/rng/auto_rng/auto_rng.h Examining data/botan-2.17.2+dfsg/src/lib/rng/auto_rng/auto_rng.cpp Examining data/botan-2.17.2+dfsg/src/lib/rng/hmac_drbg/hmac_drbg.h Examining data/botan-2.17.2+dfsg/src/lib/rng/hmac_drbg/hmac_drbg.cpp Examining data/botan-2.17.2+dfsg/src/lib/rng/stateful_rng/stateful_rng.h Examining data/botan-2.17.2+dfsg/src/lib/rng/stateful_rng/stateful_rng.cpp Examining data/botan-2.17.2+dfsg/src/lib/rng/processor_rng/processor_rng.cpp Examining data/botan-2.17.2+dfsg/src/lib/rng/processor_rng/processor_rng.h Examining data/botan-2.17.2+dfsg/src/lib/rng/rdrand_rng/rdrand_rng.h Examining data/botan-2.17.2+dfsg/src/lib/rng/rdrand_rng/rdrand_rng.cpp Examining data/botan-2.17.2+dfsg/src/lib/rng/chacha_rng/chacha_rng.h Examining data/botan-2.17.2+dfsg/src/lib/rng/chacha_rng/chacha_rng.cpp Examining data/botan-2.17.2+dfsg/src/lib/rng/rng.cpp Examining data/botan-2.17.2+dfsg/src/lib/asn1/asn1_print.h Examining data/botan-2.17.2+dfsg/src/lib/asn1/asn1_obj.cpp Examining data/botan-2.17.2+dfsg/src/lib/asn1/asn1_print.cpp Examining data/botan-2.17.2+dfsg/src/lib/asn1/der_enc.h Examining data/botan-2.17.2+dfsg/src/lib/asn1/asn1_oid.cpp Examining data/botan-2.17.2+dfsg/src/lib/asn1/asn1_obj.h Examining data/botan-2.17.2+dfsg/src/lib/asn1/ber_dec.h Examining data/botan-2.17.2+dfsg/src/lib/asn1/ber_dec.cpp Examining data/botan-2.17.2+dfsg/src/lib/asn1/oid_maps.cpp Examining data/botan-2.17.2+dfsg/src/lib/asn1/oids.h Examining data/botan-2.17.2+dfsg/src/lib/asn1/alg_id.h Examining data/botan-2.17.2+dfsg/src/lib/asn1/asn1_oid.h Examining data/botan-2.17.2+dfsg/src/lib/asn1/asn1_time.h Examining data/botan-2.17.2+dfsg/src/lib/asn1/asn1_time.cpp Examining data/botan-2.17.2+dfsg/src/lib/asn1/asn1_str.cpp Examining data/botan-2.17.2+dfsg/src/lib/asn1/asn1_str.h Examining data/botan-2.17.2+dfsg/src/lib/asn1/alg_id.cpp Examining data/botan-2.17.2+dfsg/src/lib/asn1/oids.cpp Examining data/botan-2.17.2+dfsg/src/lib/asn1/der_enc.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ecgdsa/ecgdsa.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ecgdsa/ecgdsa.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/rsa/rsa.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/rsa/rsa.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/rfc6979/rfc6979.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/rfc6979/rfc6979.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/curve25519/curve25519.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/curve25519/curve25519.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/curve25519/donna.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/mceies/mceies.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/mceies/mceies.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ec_group/point_gfp.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ec_group/curve_gfp.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ec_group/ec_group.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ec_group/ec_named.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ec_group/point_gfp.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ec_group/point_mul.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ec_group/curve_gfp.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ec_group/ec_group.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ec_group/point_mul.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/gost_3410/gost_3410.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/gost_3410/gost_3410.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/dh/dh.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/dh/dh.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/dlies/dlies.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/dlies/dlies.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/elgamal/elgamal.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/elgamal/elgamal.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/pk_ops_impl.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/cecpq1/cecpq1.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/cecpq1/cecpq1.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/dl_group/dl_group.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/dl_group/dl_group.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/dl_group/dl_named.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ecc_key/ecc_key.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ecc_key/ecc_key.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/x509_key.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/pk_algs.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/pkcs8.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/sm2/sm2.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/sm2/sm2_enc.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/sm2/sm2.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/sm2/sm2_enc.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ecdsa/ecdsa.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ecdsa/ecdsa.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/pkcs8.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_index_registry.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_privatekey.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_wots_addressed_publickey.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_parameters.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_wots_parameters.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_parameters.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/atomic.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_index_registry.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_tools.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_wots_privatekey.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_hash.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_wots_privatekey.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_key_pair.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_common_ops.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_publickey.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_privatekey.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_wots_publickey.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_common_ops.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_verification_operation.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_signature_operation.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_wots_parameters.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_verification_operation.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_publickey.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_wots_addressed_privatekey.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_address.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_wots.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_signature.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_signature.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_wots_publickey.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_hash.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/xmss/xmss_signature_operation.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/mce/mce_internal.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/mce/gf2m_small_m.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/mce/polyn_gf2m.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/mce/mceliece_key.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/mce/gf2m_rootfind_dcmp.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/mce/code_based_key_gen.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/mce/goppa_code.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/mce/mceliece.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/mce/code_based_util.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/mce/polyn_gf2m.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/mce/mceliece.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/mce/gf2m_small_m.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/mce/mce_workfactor.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/pubkey.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ecdh/ecdh.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ecdh/ecdh.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/dsa/dsa.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/dsa/dsa.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/workfactor.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/pk_ops.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/blinding.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/pbes2/pbes2.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/pbes2/pbes2.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ed25519/ed25519_fe.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ed25519/ed25519_key.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ed25519/sc_reduce.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ed25519/sc_muladd.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ed25519/ed25519_fe.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ed25519/ge.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ed25519/ed25519.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ed25519/ed25519.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ed25519/ed25519_internal.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/newhope/newhope.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/newhope/newhope.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/pk_keys.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/dl_algo/dl_algo.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/dl_algo/dl_algo.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/pk_algs.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ecies/ecies.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/ecies/ecies.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/eckcdsa/eckcdsa.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/eckcdsa/eckcdsa.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/x509_key.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/pk_ops.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/pubkey.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/blinding.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/keypair/keypair.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/keypair/keypair.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/pk_ops_fwd.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/pk_keys.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/pem/pem.cpp Examining data/botan-2.17.2+dfsg/src/lib/pubkey/pem/pem.h Examining data/botan-2.17.2+dfsg/src/lib/pubkey/workfactor.h FINAL RESULTS: data/botan-2.17.2+dfsg/src/cli/tls_http_server.cpp:195:29: [4] (shell) system: 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. client_read(boost::system::error_code(), 0); // start read loop data/botan-2.17.2+dfsg/src/cli/tls_http_server.cpp:213:37: [4] (shell) system: 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. void client_read(const boost::system::error_code& error, data/botan-2.17.2+dfsg/src/cli/tls_http_server.cpp:240:56: [4] (shell) system: 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. void handle_client_write_completion(const boost::system::error_code& error) data/botan-2.17.2+dfsg/src/cli/tls_http_server.cpp:463:39: [4] (shell) system: 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. const boost::system::error_code& error) data/botan-2.17.2+dfsg/src/cli/tls_proxy.cpp:53:48: [4] (shell) system: 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. void log_error(const char* where, const boost::system::error_code& error) data/botan-2.17.2+dfsg/src/cli/tls_proxy.cpp:125:29: [4] (shell) system: 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. client_read(boost::system::error_code(), 0); // start read loop data/botan-2.17.2+dfsg/src/cli/tls_proxy.cpp:160:37: [4] (shell) system: 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. void client_read(const boost::system::error_code& error, data/botan-2.17.2+dfsg/src/cli/tls_proxy.cpp:194:56: [4] (shell) system: 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. void handle_client_write_completion(const boost::system::error_code& error) data/botan-2.17.2+dfsg/src/cli/tls_proxy.cpp:212:56: [4] (shell) system: 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. void handle_server_write_completion(const boost::system::error_code& error) data/botan-2.17.2+dfsg/src/cli/tls_proxy.cpp:281:37: [4] (shell) system: 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. void server_read(const boost::system::error_code& error, data/botan-2.17.2+dfsg/src/cli/tls_proxy.cpp:321:41: [4] (shell) system: 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. auto onConnect = [this](boost::system::error_code ec, tcp::resolver::iterator /*endpoint*/) data/botan-2.17.2+dfsg/src/cli/tls_proxy.cpp:328:32: [4] (shell) system: 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. server_read(boost::system::error_code(), 0); // start read loop data/botan-2.17.2+dfsg/src/cli/tls_proxy.cpp:408:39: [4] (shell) system: 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. const boost::system::error_code& error) data/botan-2.17.2+dfsg/src/lib/prov/openssl/openssl_block.cpp:227:33: [4] (crypto) EVP_des_ecb: DES only supports a 56-bit keysize, which is too small given today's computers (CWE-327). Use a different patent-free encryption algorithm with a larger keysize, such as 3DES or AES. return MAKE_OPENSSL_BLOCK(EVP_des_ecb); data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_async_ops.h:126:39: [4] (shell) system: 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. const boost::system::error_code& ec = {}) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_async_ops.h:139:30: [4] (shell) system: 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. void operator()(boost::system::error_code ec, std::size_t bytes_transferred, bool isContinuation = true) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_async_ops.h:191:14: [4] (shell) system: 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. boost::system::error_code m_ec; data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_async_ops.h:213:40: [4] (shell) system: 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. const boost::system::error_code& ec = {}) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_async_ops.h:225:30: [4] (shell) system: 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. void operator()(boost::system::error_code ec, std::size_t bytes_transferred, bool isContinuation = true) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_async_ops.h:263:14: [4] (shell) system: 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. boost::system::error_code m_ec; data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_async_ops.h:281:23: [4] (shell) system: 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. const boost::system::error_code& ec = {}) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_async_ops.h:292:30: [4] (shell) system: 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. void operator()(boost::system::error_code ec, std::size_t bytesTransferred, bool isContinuation = true) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_async_ops.h:345:14: [4] (shell) system: 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. boost::system::error_code m_ec; data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_error.h:39:39: [4] (shell) system: 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. struct StreamCategory : public boost::system::error_category data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_error.h:65:15: [4] (shell) system: 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. inline boost::system::error_code make_error_code(Botan::TLS::StreamError e) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_error.h:67:18: [4] (shell) system: 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. return boost::system::error_code(static_cast<int>(e), Botan::TLS::botan_stream_category()); data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_error.h:71:36: [4] (shell) system: 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. struct BotanAlertCategory : boost::system::error_category data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_error.h:91:15: [4] (shell) system: 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. inline boost::system::error_code make_error_code(Botan::TLS::Alert::Type c) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_error.h:93:18: [4] (shell) system: 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. return boost::system::error_code(static_cast<int>(c), Botan::TLS::botan_alert_category()); data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_error.h:99:36: [4] (shell) system: 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. struct BotanErrorCategory : boost::system::error_category data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_error.h:118:15: [4] (shell) system: 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. inline boost::system::error_code make_error_code(Botan::ErrorType e) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_error.h:120:18: [4] (shell) system: 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. return boost::system::error_code(static_cast<int>(e), Botan::botan_category()); data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_error.h:130:11: [4] (shell) system: 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. namespace system { data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:161:74: [4] (shell) system: 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. void set_verify_callback(Context::Verify_Callback callback, boost::system::error_code& ec) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:179:47: [4] (shell) system: 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. void set_verify_depth(int depth, boost::system::error_code& ec) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:199:50: [4] (shell) system: 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. void set_verify_mode(verify_mode v, boost::system::error_code& ec) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:219:17: [4] (shell) system: 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. boost::system::error_code ec; data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:232:51: [4] (shell) system: 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. void handshake(Connection_Side side, boost::system::error_code& ec) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:265:67: [4] (shell) system: 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. BOOST_ASIO_INITFN_RESULT_TYPE(HandshakeHandler, void(boost::system::error_code)) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:269:17: [4] (shell) system: 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. boost::system::error_code ec; data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:274:70: [4] (shell) system: 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. boost::asio::async_completion<HandshakeHandler, void(boost::system::error_code)> init(handler); data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:285:49: [4] (shell) system: 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. void(boost::system::error_code, std::size_t)) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:308:28: [4] (shell) system: 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. void shutdown(boost::system::error_code& ec) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:330:17: [4] (shell) system: 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. boost::system::error_code ec; data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:353:36: [4] (shell) system: 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. void operator()(boost::system::error_code ec, size_t) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:375:17: [4] (shell) system: 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. boost::system::error_code ec; data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:388:76: [4] (shell) system: 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. boost::asio::async_completion<ShutdownHandlerWrapper, void(boost::system::error_code, std::size_t)> data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:414:36: [4] (shell) system: 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. boost::system::error_code& ec) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:455:17: [4] (shell) system: 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. boost::system::error_code ec; data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:473:37: [4] (shell) system: 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. boost::system::error_code& ec) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:493:17: [4] (shell) system: 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. boost::system::error_code ec; data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:510:49: [4] (shell) system: 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. void(boost::system::error_code, std::size_t)) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:514:66: [4] (shell) system: 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. boost::asio::async_completion<WriteHandler, void(boost::system::error_code, std::size_t)> init(handler); data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:516:17: [4] (shell) system: 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. boost::system::error_code ec; data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:547:49: [4] (shell) system: 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. void(boost::system::error_code, std::size_t)) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:551:65: [4] (shell) system: 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. boost::asio::async_completion<ReadHandler, void(boost::system::error_code, std::size_t)> init(handler); data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:675:51: [4] (shell) system: 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. setup_native_handle(Connection_Side, boost::system::error_code&) {} data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:688:56: [4] (shell) system: 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. setup_native_handle(Connection_Side side, boost::system::error_code& ec) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:724:49: [4] (shell) system: 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. size_t send_pending_encrypted_data(boost::system::error_code& ec) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:747:67: [4] (shell) system: 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. void tls_encrypt(const ConstBufferSequence& buffers, boost::system::error_code& ec) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:772:88: [4] (shell) system: 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. void process_encrypted_data(const boost::asio::const_buffer& read_buffer, boost::system::error_code& ec) data/botan-2.17.2+dfsg/src/lib/tls/asio/asio_stream.h:782:46: [4] (shell) system: 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. void try_with_error_code(Fun f, boost::system::error_code& ec) data/botan-2.17.2+dfsg/src/lib/utils/socket/socket.cpp:58:17: [4] (shell) system: 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. boost::system::error_code ec = boost::asio::error::would_block; data/botan-2.17.2+dfsg/src/lib/utils/socket/socket.cpp:60:47: [4] (shell) system: 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. auto connect_cb = [&ec](const boost::system::error_code& e, data/botan-2.17.2+dfsg/src/lib/utils/socket/socket.cpp:71:26: [4] (shell) system: 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. throw boost::system::system_error(ec); data/botan-2.17.2+dfsg/src/lib/utils/socket/socket.cpp:80:17: [4] (shell) system: 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. boost::system::error_code ec = boost::asio::error::would_block; data/botan-2.17.2+dfsg/src/lib/utils/socket/socket.cpp:83:41: [4] (shell) system: 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. [&ec](boost::system::error_code e, size_t) { ec = e; }); data/botan-2.17.2+dfsg/src/lib/utils/socket/socket.cpp:89:26: [4] (shell) system: 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. throw boost::system::system_error(ec); data/botan-2.17.2+dfsg/src/lib/utils/socket/socket.cpp:97:17: [4] (shell) system: 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. boost::system::error_code ec = boost::asio::error::would_block; data/botan-2.17.2+dfsg/src/lib/utils/socket/socket.cpp:101:43: [4] (shell) system: 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. [&](boost::system::error_code cb_ec, size_t cb_got) { ec = cb_ec; got = cb_got; }); data/botan-2.17.2+dfsg/src/lib/utils/socket/socket.cpp:109:26: [4] (shell) system: 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. throw boost::system::system_error(ec); // Some other error. data/botan-2.17.2+dfsg/src/lib/utils/socket/socket.cpp:120:20: [4] (shell) system: 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. boost::system::error_code err; data/botan-2.17.2+dfsg/src/lib/utils/socket/socket_udp.cpp:58:17: [4] (shell) system: 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. boost::system::error_code ec = boost::asio::error::would_block; data/botan-2.17.2+dfsg/src/lib/utils/socket/socket_udp.cpp:60:47: [4] (shell) system: 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. auto connect_cb = [&ec](const boost::system::error_code& e, data/botan-2.17.2+dfsg/src/lib/utils/socket/socket_udp.cpp:71:28: [4] (shell) system: 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. { throw boost::system::system_error(ec); } data/botan-2.17.2+dfsg/src/lib/utils/socket/socket_udp.cpp:80:17: [4] (shell) system: 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. boost::system::error_code ec = boost::asio::error::would_block; data/botan-2.17.2+dfsg/src/lib/utils/socket/socket_udp.cpp:83:23: [4] (shell) system: 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. [&ec](boost::system::error_code e, size_t) { ec = e; }); data/botan-2.17.2+dfsg/src/lib/utils/socket/socket_udp.cpp:92:26: [4] (shell) system: 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. throw boost::system::system_error(ec); data/botan-2.17.2+dfsg/src/lib/utils/socket/socket_udp.cpp:100:17: [4] (shell) system: 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. boost::system::error_code ec = boost::asio::error::would_block; data/botan-2.17.2+dfsg/src/lib/utils/socket/socket_udp.cpp:104:21: [4] (shell) system: 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. [&](boost::system::error_code cb_ec, size_t cb_got) { ec = cb_ec; got = cb_got; }); data/botan-2.17.2+dfsg/src/lib/utils/socket/socket_udp.cpp:115:26: [4] (shell) system: 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. throw boost::system::system_error(ec); // Some other error. data/botan-2.17.2+dfsg/src/lib/utils/socket/socket_udp.cpp:126:20: [4] (shell) system: 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. boost::system::error_code err; data/botan-2.17.2+dfsg/src/tests/test_certstor_system.cpp:305:52: [4] (shell) system: 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. std::unique_ptr<Botan::Certificate_Store> system; data/botan-2.17.2+dfsg/src/tests/test_certstor_system.cpp:310:13: [4] (shell) system: 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. system.reset(new Botan::System_Certificate_Store); data/botan-2.17.2+dfsg/src/tests/test_certstor_system.cpp:330:61: [4] (shell) system: 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. results.push_back(find_certificate_by_pubkey_sha1(*system)); data/botan-2.17.2+dfsg/src/tests/test_certstor_system.cpp:331:53: [4] (shell) system: 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. results.push_back(find_cert_by_subject_dn(*system)); data/botan-2.17.2+dfsg/src/tests/test_certstor_system.cpp:332:64: [4] (shell) system: 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. results.push_back(find_cert_by_subject_dn_and_key_id(*system)); data/botan-2.17.2+dfsg/src/tests/test_certstor_system.cpp:333:58: [4] (shell) system: 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. results.push_back(find_all_certs_by_subject_dn(*system)); data/botan-2.17.2+dfsg/src/tests/test_certstor_system.cpp:334:65: [4] (shell) system: 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. results.push_back(find_certs_by_subject_dn_and_key_id(*system)); data/botan-2.17.2+dfsg/src/tests/test_certstor_system.cpp:335:47: [4] (shell) system: 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. results.push_back(find_all_subjects(*system)); data/botan-2.17.2+dfsg/src/tests/test_certstor_system.cpp:336:52: [4] (shell) system: 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. results.push_back(no_certificate_matches(*system)); data/botan-2.17.2+dfsg/src/tests/test_certstor_system.cpp:338:58: [4] (shell) system: 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. results.push_back(find_cert_by_utf8_subject_dn(*system)); data/botan-2.17.2+dfsg/src/tests/test_certstor_system.cpp:341:72: [4] (shell) system: 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. results.push_back(certificate_matching_with_dn_normalization(*system)); data/botan-2.17.2+dfsg/src/tests/test_rng.cpp:377:15: [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/true", "true", NULL); data/botan-2.17.2+dfsg/src/tests/test_tls_stream_integration.cpp:31:27: [4] (shell) system: 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. using error_code = boost::system::error_code; data/botan-2.17.2+dfsg/src/tests/test_tls_stream_integration.cpp:69:51: [4] (shell) system: 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. std::size_t received_zero_byte(const boost::system::error_code& error, data/botan-2.17.2+dfsg/src/tests/unit_asio_stream.cpp:34:27: [4] (shell) system: 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. using error_code = boost::system::error_code; data/botan-2.17.2+dfsg/src/tests/unit_asio_stream.cpp:78:21: [4] (shell) system: 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. static boost::system::error_code expected_ec() data/botan-2.17.2+dfsg/src/bogo_shim/bogo_shim.cpp:55:9: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if(::getenv("BOTAN_BOGO_SHIM_LOG")) data/botan-2.17.2+dfsg/src/cli/tls_http_server.cpp:372:73: [3] (random) random: 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. strm << "Client random: " << Botan::hex_encode(client_hello.random()) << "\n"; data/botan-2.17.2+dfsg/src/cli/tls_utils.cpp:171:55: [3] (random) random: 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. << "Random: " << Botan::hex_encode(hello.random()) << "\n"; data/botan-2.17.2+dfsg/src/lib/math/numbertheory/primality.cpp:165:70: [3] (random) random: 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. size_t miller_rabin_test_iterations(size_t n_bits, size_t prob, bool random) data/botan-2.17.2+dfsg/src/lib/math/numbertheory/primality.h:67:70: [3] (random) random: 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. size_t miller_rabin_test_iterations(size_t n_bits, size_t prob, bool random); data/botan-2.17.2+dfsg/src/lib/pbkdf/argon2/argon2.cpp:280:31: [3] (random) random: 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. uint32_t index_alpha(uint64_t random, data/botan-2.17.2+dfsg/src/lib/pbkdf/argon2/argon2.cpp:289:44: [3] (random) random: 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. size_t ref_lane = static_cast<uint32_t>(random >> 32) % threads; data/botan-2.17.2+dfsg/src/lib/pbkdf/argon2/argon2.cpp:310:39: [3] (random) random: 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. uint64_t p = static_cast<uint32_t>(random); data/botan-2.17.2+dfsg/src/lib/pbkdf/argon2/argon2.cpp:335:45: [3] (random) random: 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. const size_t new_offset = index_alpha(random, lanes, segments, threads, n, slice, lane, index); data/botan-2.17.2+dfsg/src/lib/pbkdf/argon2/argon2.cpp:373:45: [3] (random) random: 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. const size_t new_offset = index_alpha(random, lanes, segments, threads, n, slice, lane, index); data/botan-2.17.2+dfsg/src/lib/tls/msg_server_hello.cpp:39:34: [3] (random) random: 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. store_be(DOWNGRADE_TLS11, &random[24]); data/botan-2.17.2+dfsg/src/lib/tls/msg_server_hello.cpp:44:34: [3] (random) random: 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. store_be(DOWNGRADE_TLS11, &random[24]); data/botan-2.17.2+dfsg/src/lib/tls/msg_server_hello.cpp:47:11: [3] (random) random: 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. return random; data/botan-2.17.2+dfsg/src/lib/tls/msg_server_kex.cpp:193:56: [3] (random) random: 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. std::vector<uint8_t> buf = state.client_hello()->random(); data/botan-2.17.2+dfsg/src/lib/tls/msg_server_kex.cpp:195:36: [3] (random) random: 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. buf += state.server_hello()->random(); data/botan-2.17.2+dfsg/src/lib/tls/msg_server_kex.cpp:309:53: [3] (random) random: 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. std::vector<uint8_t> buf = state.client_hello()->random(); data/botan-2.17.2+dfsg/src/lib/tls/msg_server_kex.cpp:311:33: [3] (random) random: 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. buf += state.server_hello()->random(); data/botan-2.17.2+dfsg/src/lib/tls/tls_channel.cpp:772:39: [3] (random) random: 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. salt += active->client_hello()->random(); data/botan-2.17.2+dfsg/src/lib/tls/tls_channel.cpp:773:39: [3] (random) random: 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. salt += active->server_hello()->random(); data/botan-2.17.2+dfsg/src/lib/tls/tls_messages.h:99:35: [3] (random) random: 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. const std::vector<uint8_t>& random() const { return m_random; } data/botan-2.17.2+dfsg/src/lib/tls/tls_messages.h:226:35: [3] (random) random: 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. const std::vector<uint8_t>& random() const { return m_random; } data/botan-2.17.2+dfsg/src/lib/tls/tls_session_key.cpp:62:41: [3] (random) random: 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. salt += state->client_hello()->random(); data/botan-2.17.2+dfsg/src/lib/tls/tls_session_key.cpp:63:41: [3] (random) random: 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. salt += state->server_hello()->random(); data/botan-2.17.2+dfsg/src/lib/tls/tls_session_key.cpp:72:35: [3] (random) random: 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. salt += state->server_hello()->random(); data/botan-2.17.2+dfsg/src/lib/tls/tls_session_key.cpp:73:35: [3] (random) random: 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. salt += state->client_hello()->random(); data/botan-2.17.2+dfsg/src/lib/utils/os_utils.cpp:403:30: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if(const char* val = std::getenv(name.c_str())) data/botan-2.17.2+dfsg/src/tests/test_pkcs11_high_level.cpp:1444:25: [3] (random) random: 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. std::vector<uint8_t> random(20); data/botan-2.17.2+dfsg/src/tests/test_pkcs11_high_level.cpp:1445:18: [3] (random) random: 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. rng.randomize(random.data(), random.size()); data/botan-2.17.2+dfsg/src/tests/test_pkcs11_high_level.cpp:1445:33: [3] (random) random: 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. rng.randomize(random.data(), random.size()); data/botan-2.17.2+dfsg/src/tests/test_pkcs11_high_level.cpp:1446:44: [3] (random) random: 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. result.test_ne("random data generated", random, std::vector<uint8_t>(20)); data/botan-2.17.2+dfsg/src/tests/test_pkcs11_high_level.cpp:1467:20: [3] (random) random: 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. rng.add_entropy(random.data(), random.size()); data/botan-2.17.2+dfsg/src/tests/test_pkcs11_high_level.cpp:1467:35: [3] (random) random: 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. rng.add_entropy(random.data(), random.size()); data/botan-2.17.2+dfsg/src/tests/test_rng.h:45:22: [3] (random) random: 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. out[j] = random(); data/botan-2.17.2+dfsg/src/tests/test_rng.h:81:15: [3] (random) random: 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. uint8_t random() data/botan-2.17.2+dfsg/src/tests/test_rng.h:118:25: [3] (random) random: 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. out[j] = random(); data/botan-2.17.2+dfsg/src/bogo_shim/bogo_shim.cpp:57:31: [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). static FILE* log = std::fopen("/tmp/bogo_shim.log", "w"); data/botan-2.17.2+dfsg/src/bogo_shim/bogo_shim.cpp:1258:18: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. std::memcpy(packet.data() + 5, data, size); data/botan-2.17.2+dfsg/src/lib/codec/base32/base32.cpp:61:26: [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 void encode(char out[8], const uint8_t in[5]) noexcept data/botan-2.17.2+dfsg/src/lib/codec/base64/base64.cpp:61:26: [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 void encode(char out[8], const uint8_t in[5]) noexcept data/botan-2.17.2+dfsg/src/lib/compat/sodium/sodium_utils.cpp:35:19: [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. const unsigned char nonce[12] = { data/botan-2.17.2+dfsg/src/lib/entropy/dev_random/dev_random.cpp:40:18: [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). int fd = ::open(fsname.c_str(), flags); data/botan-2.17.2+dfsg/src/lib/entropy/proc_walk/proc_walk.cpp:100:21: [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). int fd = ::open(full_path.c_str(), O_RDONLY | O_NOCTTY); data/botan-2.17.2+dfsg/src/lib/ffi/ffi_mp.cpp:103:12: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. std::memcpy(out, hex.c_str(), 1 + hex.size()); data/botan-2.17.2+dfsg/src/lib/hash/streebog/streebog.cpp:110: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. std::memcpy(output, &m_h[8 - output_length() / 8], output_length()); data/botan-2.17.2+dfsg/src/lib/hash/streebog/streebog.cpp:132: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. std::memcpy(r, block, 64); data/botan-2.17.2+dfsg/src/lib/hash/streebog/streebog.cpp:152: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. std::memcpy(M, input, 64); data/botan-2.17.2+dfsg/src/lib/math/bigint/big_code.cpp:65: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. std::memcpy(v.data(), s.data(), s.size()); data/botan-2.17.2+dfsg/src/lib/math/bigint/big_code.cpp:72: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. std::memcpy(v.data(), s.data(), s.size()); data/botan-2.17.2+dfsg/src/lib/math/bigint/big_code.cpp:160:16: [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. const char buf0_with_leading_0[2] = data/botan-2.17.2+dfsg/src/lib/misc/roughtime/roughtime.cpp:172: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. std::memcpy(buf.data() + 16, nonce.get_nonce().data(), nonce.get_nonce().size()); data/botan-2.17.2+dfsg/src/lib/rng/system_rng/system_rng.cpp:184:19: [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). m_fd = ::open(BOTAN_SYSTEM_RNG_DEVICE, O_RDWR | O_NOCTTY); data/botan-2.17.2+dfsg/src/lib/rng/system_rng/system_rng.cpp:196:22: [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). m_fd = ::open(BOTAN_SYSTEM_RNG_DEVICE, O_RDONLY | O_NOCTTY); data/botan-2.17.2+dfsg/src/lib/utils/cpuid/cpuid_arm.cpp:190:4: [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 machine[64] = { 0 }; data/botan-2.17.2+dfsg/src/lib/utils/mem_ops.h:148: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. std::memcpy(out, in, sizeof(T)*N); data/botan-2.17.2+dfsg/src/lib/utils/mem_ops.h:154: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. std::memcpy(out, in, sizeof(T)*N); data/botan-2.17.2+dfsg/src/lib/utils/mem_ops.h:172: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. std::memcpy(&dst, src, sizeof(To)); data/botan-2.17.2+dfsg/src/lib/utils/os_utils.cpp:395:4: [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 val[128] = { 0 }; data/botan-2.17.2+dfsg/src/lib/utils/simd/simd_32.h:529:34: [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. const __vector unsigned char shuf[3] = { data/botan-2.17.2+dfsg/src/lib/utils/simd/simd_32.h:551:34: [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. const __vector unsigned char shuf[3] = { data/botan-2.17.2+dfsg/src/lib/utils/socket/socket_udp.cpp:177:13: [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(&sa, res->ai_addr, res->ai_addrlen); data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:634: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 namebuf[18]; data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:885: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 namebuf[10]; data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:962: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 namebuf[16]; data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:1123: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 namebuf[10]; data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:1218:10: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char out_buf[1024] = { 0 }; data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:1255:10: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char hex_buf[16] = { 0 }; data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:1283:10: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char str_buf[1024] = { 0 }; data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:1863: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 namebuf[32] = { 0 }; data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:2076:10: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char namebuf[32] = { 0 }; data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:2176:10: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char namebuf[32] = { 0 }; data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:2270:10: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char namebuf[32] = { 0 }; data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:2412: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 namebuf[32] = { 0 }; data/botan-2.17.2+dfsg/src/tests/test_tls_stream_integration.cpp:93: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 m_data[max_msg_length]; data/botan-2.17.2+dfsg/src/tests/test_tls_stream_integration.cpp:173:21: [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). m_acceptor.open(endpoint.protocol(), ec); data/botan-2.17.2+dfsg/src/tests/test_x509_path.cpp:420:57: [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). auto validation_time = Botan::calendar_point(std::atoi((validation_times_iter++)->second.c_str()), 0, 0, 0, 0, data/botan-2.17.2+dfsg/src/tests/tests.cpp:528:15: [2] (tmpfile) mkstemp: Potential for temporary file vulnerability in some circumstances. Some older Unix-like systems create temp files with permission to write by all by default, so be sure to set the umask to override this. Also, some older Unix systems might fail to use O_EXCL when opening the file, so make sure that O_EXCL is used by the library (CWE-377). int fd = ::mkstemp(&mkstemp_basename[0]); data/botan-2.17.2+dfsg/src/bogo_shim/bogo_shim.cpp:309:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read(uint8_t buf[], size_t len) data/botan-2.17.2+dfsg/src/bogo_shim/bogo_shim.cpp:313:37: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). socket_op_ret_type got = ::read(m_socket, Botan::cast_uint8_ptr_to_char(buf), len); data/botan-2.17.2+dfsg/src/bogo_shim/bogo_shim.cpp:332:40: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). socket_op_ret_type got = ::read(m_socket, Botan::cast_uint8_ptr_to_char(buf), len); data/botan-2.17.2+dfsg/src/bogo_shim/bogo_shim.cpp:1587:36: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t got = socket.read(&opcode, 1); data/botan-2.17.2+dfsg/src/bogo_shim/bogo_shim.cpp:1627:36: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t got = socket.read(buf.data(), buf.size()); data/botan-2.17.2+dfsg/src/cli/cli.cpp:222:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). in.read(reinterpret_cast<char*>(buf.data()), buf.size()); data/botan-2.17.2+dfsg/src/cli/compress.cpp:89:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). in.read(reinterpret_cast<char*>(buf.data()), buf.size()); data/botan-2.17.2+dfsg/src/cli/compress.cpp:171:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). in.read(reinterpret_cast<char*>(buf.data()), buf.size()); data/botan-2.17.2+dfsg/src/cli/socket_utils.h:63:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). inline int read(int s, void* buf, size_t len) data/botan-2.17.2+dfsg/src/cli/tls_client.cpp:203:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t got = ::read(m_sockfd, buf, sizeof(buf)); data/botan-2.17.2+dfsg/src/cli/tls_client.cpp:222:30: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t got = read(STDIN_FILENO, buf, sizeof(buf)); data/botan-2.17.2+dfsg/src/fuzzer/fuzzers.h:90:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). in.read((char*)buf.data(), buf.size()); data/botan-2.17.2+dfsg/src/fuzzer/fuzzers.h:122:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). std::cin.read((char*)buf.data(), buf.size()); data/botan-2.17.2+dfsg/src/lib/asn1/ber_dec.cpp:151:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read(uint8_t out[], size_t length) override data/botan-2.17.2+dfsg/src/lib/asn1/ber_dec.cpp:261:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if(m_source->read(out, length) != length) data/botan-2.17.2+dfsg/src/lib/codec/base58/base58.cpp:40:40: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). const size_t alpha_len = std::strlen(alphabet); data/botan-2.17.2+dfsg/src/lib/compression/compress_utils.cpp:162:50: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). m_stream->next_in(buf.data() + offset + read, buf.size() - offset - read); data/botan-2.17.2+dfsg/src/lib/compression/compress_utils.cpp:162:78: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). m_stream->next_in(buf.data() + offset + read, buf.size() - offset - read); data/botan-2.17.2+dfsg/src/lib/entropy/dev_random/dev_random.cpp:107:38: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const ssize_t got = ::read(dev_fd, io_buf.data(), io_buf.size()); data/botan-2.17.2+dfsg/src/lib/entropy/proc_walk/proc_walk.cpp:136:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t got = ::read(fd, m_buf.data(), m_buf.size()); data/botan-2.17.2+dfsg/src/lib/ffi/ffi_kdf.cpp:68:27: [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). password_len = std::strlen(password); data/botan-2.17.2+dfsg/src/lib/ffi/ffi_kdf.cpp:103:27: [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). password_len = std::strlen(password); data/botan-2.17.2+dfsg/src/lib/ffi/ffi_mp.cpp:68: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). const size_t len = strlen(str); data/botan-2.17.2+dfsg/src/lib/filters/fd_unix/fd_unix.cpp:22:25: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t got = pipe.read(buffer.data(), buffer.size()); data/botan-2.17.2+dfsg/src/lib/filters/fd_unix/fd_unix.cpp:45:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t ret = ::read(fd, buffer.data(), buffer.size()); data/botan-2.17.2+dfsg/src/lib/filters/out_buf.cpp:17:24: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t Output_Buffers::read(uint8_t output[], size_t length, data/botan-2.17.2+dfsg/src/lib/filters/out_buf.cpp:22:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return q->read(output, length); data/botan-2.17.2+dfsg/src/lib/filters/out_buf.h:24:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read(uint8_t[], size_t, Pipe::message_id); data/botan-2.17.2+dfsg/src/lib/filters/pipe.h:151:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read(uint8_t output[], size_t length) override BOTAN_WARN_UNUSED_RESULT; data/botan-2.17.2+dfsg/src/lib/filters/pipe.h:162:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read(uint8_t output[], size_t length, message_id msg) BOTAN_WARN_UNUSED_RESULT; data/botan-2.17.2+dfsg/src/lib/filters/pipe.h:173:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read(uint8_t& output, message_id msg = DEFAULT_MESSAGE) BOTAN_WARN_UNUSED_RESULT; data/botan-2.17.2+dfsg/src/lib/filters/pipe_io.cpp:22:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const size_t got = pipe.read(buffer.data(), buffer.size()); data/botan-2.17.2+dfsg/src/lib/filters/pipe_io.cpp:38:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). stream.read(cast_uint8_ptr_to_char(buffer.data()), buffer.size()); data/botan-2.17.2+dfsg/src/lib/filters/pipe_rw.cpp:66:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t got = source.read(buffer.data(), buffer.size()); data/botan-2.17.2+dfsg/src/lib/filters/pipe_rw.cpp:74:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t Pipe::read(uint8_t output[], size_t length, message_id msg) data/botan-2.17.2+dfsg/src/lib/filters/pipe_rw.cpp:76:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return m_outputs->read(output, length, get_message_no("read", msg)); data/botan-2.17.2+dfsg/src/lib/filters/pipe_rw.cpp:82:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t Pipe::read(uint8_t output[], size_t length) data/botan-2.17.2+dfsg/src/lib/filters/pipe_rw.cpp:84:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return read(output, length, DEFAULT_MESSAGE); data/botan-2.17.2+dfsg/src/lib/filters/pipe_rw.cpp:90:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t Pipe::read(uint8_t& out, message_id msg) data/botan-2.17.2+dfsg/src/lib/filters/pipe_rw.cpp:92:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return read(&out, 1, msg); data/botan-2.17.2+dfsg/src/lib/filters/pipe_rw.cpp:102:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t got = read(buffer.data(), buffer.size(), msg); data/botan-2.17.2+dfsg/src/lib/filters/pipe_rw.cpp:119:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t got = read(buffer.data(), buffer.size(), msg); data/botan-2.17.2+dfsg/src/lib/filters/secqueue.cpp:33:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read(uint8_t output[], size_t length) data/botan-2.17.2+dfsg/src/lib/filters/secqueue.cpp:144:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t SecureQueue::read(uint8_t output[], size_t length) data/botan-2.17.2+dfsg/src/lib/filters/secqueue.cpp:149:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const size_t n = m_head->read(output, length); data/botan-2.17.2+dfsg/src/lib/filters/secqueue.h:29:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read(uint8_t[], size_t) override; data/botan-2.17.2+dfsg/src/lib/misc/aont/package.cpp:39:39: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). BOTAN_ASSERT_EQUAL(remaining, pipe.read(output, remaining), "Expected read size"); data/botan-2.17.2+dfsg/src/lib/misc/aont/package.cpp:122:39: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). BOTAN_ASSERT_EQUAL(remaining, pipe.read(output, remaining), "Expected read size"); data/botan-2.17.2+dfsg/src/lib/misc/roughtime/roughtime.cpp:381:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const auto n = socket->read(buffer.data(), buffer.size()); data/botan-2.17.2+dfsg/src/lib/prov/tpm/tpm.cpp:97: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). std::strlen(secret), data/botan-2.17.2+dfsg/src/lib/pubkey/ed25519/ge.cpp:1997:16: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. inline uint8_t equal(int8_t b, int8_t c) data/botan-2.17.2+dfsg/src/lib/pubkey/ed25519/ge.cpp:2010:33: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. return -static_cast<int32_t>(equal(b, c)); data/botan-2.17.2+dfsg/src/lib/pubkey/mce/polyn_gf2m.cpp:438:16: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. uint32_t equal, equal_mask; data/botan-2.17.2+dfsg/src/lib/pubkey/mce/polyn_gf2m.cpp:441:38: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. equal_mask = expand_mask_16bit(equal); data/botan-2.17.2+dfsg/src/lib/pubkey/pkcs8.cpp:71:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if(read) data/botan-2.17.2+dfsg/src/lib/rng/system_rng/system_rng.cpp:225:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t got = ::read(m_fd, buf, len); data/botan-2.17.2+dfsg/src/lib/tls/tls_blocking.cpp:73:25: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t Blocking_Client::read(uint8_t buf[], size_t buf_len) data/botan-2.17.2+dfsg/src/lib/tls/tls_blocking.h:58:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read(uint8_t buf[], size_t buf_len); data/botan-2.17.2+dfsg/src/lib/tls/tls_cbc/tls_cbc.cpp:365:62: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. const uint16_t data_len = block_size * add_compressions + equal * max_bytes_in_first_block; data/botan-2.17.2+dfsg/src/lib/utils/data_src.cpp:25:11: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return read(&out, 1); data/botan-2.17.2+dfsg/src/lib/utils/data_src.cpp:46:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const size_t got = this->read(buf, std::min(n, sizeof(buf))); data/botan-2.17.2+dfsg/src/lib/utils/data_src.cpp:60:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t DataSource_Memory::read(uint8_t out[], size_t length) data/botan-2.17.2+dfsg/src/lib/utils/data_src.cpp:108:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t DataSource_Stream::read(uint8_t out[], size_t length) data/botan-2.17.2+dfsg/src/lib/utils/data_src.cpp:110:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). m_source.read(cast_uint8_ptr_to_char(out), length); data/botan-2.17.2+dfsg/src/lib/utils/data_src.cpp:141:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). m_source.read(cast_uint8_ptr_to_char(buf.data()), buf.size()); data/botan-2.17.2+dfsg/src/lib/utils/data_src.cpp:149:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). m_source.read(cast_uint8_ptr_to_char(out), length); data/botan-2.17.2+dfsg/src/lib/utils/data_src.h:33:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). virtual size_t read(uint8_t out[], size_t length) BOTAN_WARN_UNUSED_RESULT = 0; data/botan-2.17.2+dfsg/src/lib/utils/data_src.h:101:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read(uint8_t[], size_t) override; data/botan-2.17.2+dfsg/src/lib/utils/data_src.h:146:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read(uint8_t[], size_t) override; data/botan-2.17.2+dfsg/src/lib/utils/http_util/http_util.cpp:58:34: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). const size_t got = socket->read(buf.data(), buf.size()); data/botan-2.17.2+dfsg/src/lib/utils/http_util/http_util.cpp:210:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). io.read(cast_uint8_ptr_to_char(buf.data()), buf.size()); data/botan-2.17.2+dfsg/src/lib/utils/socket/socket.cpp:93:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read(uint8_t buf[], size_t len) override data/botan-2.17.2+dfsg/src/lib/utils/socket/socket.cpp:314:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read(uint8_t buf[], size_t len) override data/botan-2.17.2+dfsg/src/lib/utils/socket/socket.h:49:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). virtual size_t read(uint8_t buf[], size_t len) = 0; data/botan-2.17.2+dfsg/src/lib/utils/socket/socket_udp.cpp:96:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read(uint8_t buf[], size_t len) override data/botan-2.17.2+dfsg/src/lib/utils/socket/socket_udp.cpp:223:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_t read(uint8_t buf[], size_t len) override data/botan-2.17.2+dfsg/src/lib/utils/socket/socket_udp.h:49:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). virtual size_t read(uint8_t buf[], size_t len) = 0; data/botan-2.17.2+dfsg/src/tests/test_compression.cpp:61: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). const size_t text_len = std::strlen(text_str); data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:916: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). TEST_FFI_OK(botan_hash_update, (hash, reinterpret_cast<const uint8_t*>(input_str), std::strlen(input_str))); data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:930:105: [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). TEST_FFI_OK(botan_hash_update, (fork, reinterpret_cast<const uint8_t*>(&msg[1]), std::strlen(msg) - 2)); data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:932:105: [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). TEST_FFI_OK(botan_hash_update, (hash, reinterpret_cast<const uint8_t*>(&msg[1]), std::strlen(msg) - 1)); data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:936:100: [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). TEST_FFI_OK(botan_hash_update, (fork, reinterpret_cast<const uint8_t*>(&msg[std::strlen(msg)-1]), 1)); data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:996:105: [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). TEST_FFI_OK(botan_mac_update, (mac, reinterpret_cast<const uint8_t*>(input_str), std::strlen(input_str))); data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:1000:105: [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). TEST_FFI_OK(botan_mac_update, (mac, reinterpret_cast<const uint8_t*>(input_str), std::strlen(input_str))); data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:1236: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). (base64, strlen(base64), out_bin, &out_len)); data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:1241:52: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). TEST_FFI_OK(botan_base64_decode, (base64, strlen(base64), out_bin, &out_len)); data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:1267:28: [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). (hex, strlen(hex), out_bin, &out_len)); data/botan-2.17.2+dfsg/src/tests/test_ffi.cpp:1270:46: [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). TEST_FFI_OK(botan_hex_decode, (hex, strlen(hex), out_bin, &out_len)); data/botan-2.17.2+dfsg/src/tests/test_filters.cpp:264:66: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). [&]() { uint8_t b; size_t got = pipe.read(&b, 1, 100); BOTAN_UNUSED(got); }); data/botan-2.17.2+dfsg/src/tests/test_filters.cpp:329:53: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.test_eq("Expected read count", pipe.read(&out[0], 5), 5); data/botan-2.17.2+dfsg/src/tests/test_filters.cpp:332:53: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.test_eq("Expected read count", pipe.read(&out[5], 17), 17); data/botan-2.17.2+dfsg/src/tests/test_filters.cpp:336:53: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.test_eq("Expected read count", pipe.read(&out[22], 12), 10); data/botan-2.17.2+dfsg/src/tests/test_filters.cpp:337:53: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result.test_eq("Expected read count", pipe.read(&out[0], 1), 0); // no more output data/botan-2.17.2+dfsg/src/tests/test_rng.cpp:322:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t got = ::read(fd[0], &count, sizeof(count)); data/botan-2.17.2+dfsg/src/tests/test_rng.cpp:336:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). got = ::read(fd[0], &child_bytes[0], child_bytes.size()); data/botan-2.17.2+dfsg/src/tests/test_tls_stream_integration.cpp:444:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). net::read(m_client.stream(), data/botan-2.17.2+dfsg/src/tests/test_tls_stream_integration.cpp:454:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). net::read(m_client.stream(), m_client.buffer(), ec); data/botan-2.17.2+dfsg/src/tests/test_tls_stream_integration.cpp:663:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). net::read(m_client.stream(), m_client.buffer(), ec); data/botan-2.17.2+dfsg/src/tests/tests.cpp:572:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). file.read(reinterpret_cast<char*>(buf.data()), buf.size()); data/botan-2.17.2+dfsg/src/tests/unit_asio_stream.cpp:307:40: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). auto bytes_transferred = net::read(ssl, net::mutable_buffer(buf, sizeof(buf)), ec); data/botan-2.17.2+dfsg/src/tests/unit_asio_stream.cpp:331:40: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). auto bytes_transferred = net::read(ssl, data, ec); data/botan-2.17.2+dfsg/src/tests/unit_asio_stream.cpp:358:40: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). auto bytes_transferred = net::read(ssl, net::mutable_buffer(buf, sizeof(buf)), ec); data/botan-2.17.2+dfsg/src/tests/unit_asio_stream.cpp:379:40: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). auto bytes_transferred = net::read(ssl, net::mutable_buffer(buf, sizeof(buf)), ec); data/botan-2.17.2+dfsg/src/tests/unit_asio_stream.cpp:399:40: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). auto bytes_transferred = net::read(ssl, net::mutable_buffer(buf, std::size_t(0)), ec); ANALYSIS SUMMARY: Hits = 278 Lines analyzed = 206330 in approximately 5.63 seconds (36634 lines/second) Physical Source Lines of Code (SLOC) = 141451 Hits@level = [0] 9 [1] 104 [2] 41 [3] 35 [4] 98 [5] 0 Hits@level+ = [0+] 287 [1+] 278 [2+] 174 [3+] 133 [4+] 98 [5+] 0 Hits/KSLOC@level+ = [0+] 2.02897 [1+] 1.96534 [2+] 1.23011 [3+] 0.940255 [4+] 0.692819 [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.