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/libsignal-protocol-c-2.3.3/src/FingerprintProtocol.pb-c.c Examining data/libsignal-protocol-c-2.3.3/src/FingerprintProtocol.pb-c.h Examining data/libsignal-protocol-c-2.3.3/src/LocalStorageProtocol.pb-c.c Examining data/libsignal-protocol-c-2.3.3/src/LocalStorageProtocol.pb-c.h Examining data/libsignal-protocol-c-2.3.3/src/WhisperTextProtocol.pb-c.c Examining data/libsignal-protocol-c-2.3.3/src/WhisperTextProtocol.pb-c.h Examining data/libsignal-protocol-c-2.3.3/src/curve.c Examining data/libsignal-protocol-c-2.3.3/src/curve.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/curve25519-donna.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/curve25519-donna.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/compare.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/compare.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/crypto_additions.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/crypto_hash_sha512.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/curve_sigs.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/curve_sigs.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/elligator.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/fe_isequal.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/fe_isreduced.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/fe_mont_rhs.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/fe_montx_to_edy.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/fe_sqrt.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/ge_isneutral.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/ge_montx_to_p3.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/ge_neg.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/ge_p3_to_montx.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/ge_scalarmult.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/ge_scalarmult_cofactor.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/generalized/ge_p3_add.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/generalized/gen_constants.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/generalized/gen_crypto_additions.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/generalized/gen_eddsa.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/generalized/gen_eddsa.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/generalized/gen_labelset.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/generalized/gen_labelset.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/generalized/gen_veddsa.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/generalized/gen_veddsa.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/generalized/gen_x.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/generalized/gen_x.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/generalized/point_isreduced.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/generalized/sc_isreduced.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/keygen.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/keygen.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/open_modified.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/sc_clamp.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/sc_cmov.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/sc_neg.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/sign_modified.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/utility.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/utility.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/xeddsa.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/xeddsa.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/zeroize.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/additions/zeroize.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/base.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/base2.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/d.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/d2.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe_0.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe_1.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe_add.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe_cmov.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe_copy.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe_frombytes.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe_invert.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe_isnegative.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe_isnonzero.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe_mul.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe_neg.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe_pow22523.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe_sq.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe_sq2.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe_sub.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/fe_tobytes.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_add.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_add.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_double_scalarmult.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_frombytes.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_madd.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_madd.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_msub.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_msub.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_p1p1_to_p2.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_p1p1_to_p3.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_p2_0.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_p2_dbl.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_p2_dbl.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_p3_0.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_p3_dbl.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_p3_to_cached.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_p3_to_p2.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_p3_tobytes.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_precomp_0.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_scalarmult_base.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_sub.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_sub.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/ge_tobytes.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/nacl_includes/crypto_int32.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/nacl_includes/crypto_int64.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/nacl_includes/crypto_sign.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/nacl_includes/crypto_sign_edwards25519sha512batch.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/nacl_includes/crypto_uint32.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/nacl_includes/crypto_uint64.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/nacl_includes/crypto_verify_32.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/nacl_sha512/blocks.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/nacl_sha512/hash.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/open.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/pow22523.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/pow225521.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/sc.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/sc_muladd.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/sc_reduce.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/sign.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/sqrtm1.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/tests/internal_fast_tests.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/tests/internal_fast_tests.h Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/tests/internal_slow_tests.c Examining data/libsignal-protocol-c-2.3.3/src/curve25519/ed25519/tests/internal_slow_tests.h Examining data/libsignal-protocol-c-2.3.3/src/device_consistency.c Examining data/libsignal-protocol-c-2.3.3/src/device_consistency.h Examining data/libsignal-protocol-c-2.3.3/src/fingerprint.c Examining data/libsignal-protocol-c-2.3.3/src/fingerprint.h Examining data/libsignal-protocol-c-2.3.3/src/group_cipher.c Examining data/libsignal-protocol-c-2.3.3/src/group_cipher.h Examining data/libsignal-protocol-c-2.3.3/src/group_session_builder.c Examining data/libsignal-protocol-c-2.3.3/src/group_session_builder.h Examining data/libsignal-protocol-c-2.3.3/src/hkdf.c Examining data/libsignal-protocol-c-2.3.3/src/hkdf.h Examining data/libsignal-protocol-c-2.3.3/src/key_helper.c Examining data/libsignal-protocol-c-2.3.3/src/key_helper.h Examining data/libsignal-protocol-c-2.3.3/src/protobuf-c/protobuf-c.c Examining data/libsignal-protocol-c-2.3.3/src/protobuf-c/protobuf-c.h Examining data/libsignal-protocol-c-2.3.3/src/protocol.c Examining data/libsignal-protocol-c-2.3.3/src/protocol.h Examining data/libsignal-protocol-c-2.3.3/src/ratchet.c Examining data/libsignal-protocol-c-2.3.3/src/ratchet.h Examining data/libsignal-protocol-c-2.3.3/src/sender_key.c Examining data/libsignal-protocol-c-2.3.3/src/sender_key.h Examining data/libsignal-protocol-c-2.3.3/src/sender_key_record.c Examining data/libsignal-protocol-c-2.3.3/src/sender_key_record.h Examining data/libsignal-protocol-c-2.3.3/src/sender_key_state.c Examining data/libsignal-protocol-c-2.3.3/src/sender_key_state.h Examining data/libsignal-protocol-c-2.3.3/src/session_builder.c Examining data/libsignal-protocol-c-2.3.3/src/session_builder.h Examining data/libsignal-protocol-c-2.3.3/src/session_builder_internal.h Examining data/libsignal-protocol-c-2.3.3/src/session_cipher.c Examining data/libsignal-protocol-c-2.3.3/src/session_cipher.h Examining data/libsignal-protocol-c-2.3.3/src/session_pre_key.c Examining data/libsignal-protocol-c-2.3.3/src/session_pre_key.h Examining data/libsignal-protocol-c-2.3.3/src/session_record.c Examining data/libsignal-protocol-c-2.3.3/src/session_record.h Examining data/libsignal-protocol-c-2.3.3/src/session_state.c Examining data/libsignal-protocol-c-2.3.3/src/session_state.h Examining data/libsignal-protocol-c-2.3.3/src/signal_protocol.c Examining data/libsignal-protocol-c-2.3.3/src/signal_protocol.h Examining data/libsignal-protocol-c-2.3.3/src/signal_protocol_internal.h Examining data/libsignal-protocol-c-2.3.3/src/signal_protocol_types.h Examining data/libsignal-protocol-c-2.3.3/src/signal_utarray.h Examining data/libsignal-protocol-c-2.3.3/src/utarray.h Examining data/libsignal-protocol-c-2.3.3/src/uthash.h Examining data/libsignal-protocol-c-2.3.3/src/utlist.h Examining data/libsignal-protocol-c-2.3.3/src/vpool.c Examining data/libsignal-protocol-c-2.3.3/src/vpool.h Examining data/libsignal-protocol-c-2.3.3/tests/test_common.c Examining data/libsignal-protocol-c-2.3.3/tests/test_common.h Examining data/libsignal-protocol-c-2.3.3/tests/test_common_ccrypto.c Examining data/libsignal-protocol-c-2.3.3/tests/test_common_openssl.c Examining data/libsignal-protocol-c-2.3.3/tests/test_curve25519.c Examining data/libsignal-protocol-c-2.3.3/tests/test_device_consistency.c Examining data/libsignal-protocol-c-2.3.3/tests/test_fingerprint.c Examining data/libsignal-protocol-c-2.3.3/tests/test_group_cipher.c Examining data/libsignal-protocol-c-2.3.3/tests/test_hkdf.c Examining data/libsignal-protocol-c-2.3.3/tests/test_key_helper.c Examining data/libsignal-protocol-c-2.3.3/tests/test_protocol.c Examining data/libsignal-protocol-c-2.3.3/tests/test_ratchet.c Examining data/libsignal-protocol-c-2.3.3/tests/test_sender_key_record.c Examining data/libsignal-protocol-c-2.3.3/tests/test_session_builder.c