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/gr-satellites-3.5.1/include/satellites/ao40_rs_decoder.h Examining data/gr-satellites-3.5.1/include/satellites/api.h Examining data/gr-satellites-3.5.1/include/satellites/ax100_decode.h Examining data/gr-satellites-3.5.1/include/satellites/decode_ra_code.h Examining data/gr-satellites-3.5.1/include/satellites/decode_rs.h Examining data/gr-satellites-3.5.1/include/satellites/decode_rs_general.h Examining data/gr-satellites-3.5.1/include/satellites/decode_rs_interleaved.h Examining data/gr-satellites-3.5.1/include/satellites/descrambler308.h Examining data/gr-satellites-3.5.1/include/satellites/distributed_syncframe_soft.h Examining data/gr-satellites-3.5.1/include/satellites/encode_rs.h Examining data/gr-satellites-3.5.1/include/satellites/lilacsat1_demux.h Examining data/gr-satellites-3.5.1/include/satellites/matrix_deinterleaver_soft.h Examining data/gr-satellites-3.5.1/include/satellites/nrzi_decode.h Examining data/gr-satellites-3.5.1/include/satellites/nrzi_encode.h Examining data/gr-satellites-3.5.1/include/satellites/nusat_decoder.h Examining data/gr-satellites-3.5.1/include/satellites/u482c_decode.h Examining data/gr-satellites-3.5.1/include/satellites/varlen_packet_framer.h Examining data/gr-satellites-3.5.1/include/satellites/varlen_packet_tagger.h Examining data/gr-satellites-3.5.1/lib/ao40_rs_decoder_impl.cc Examining data/gr-satellites-3.5.1/lib/ao40_rs_decoder_impl.h Examining data/gr-satellites-3.5.1/lib/ax100_decode_impl.cc Examining data/gr-satellites-3.5.1/lib/ax100_decode_impl.h Examining data/gr-satellites-3.5.1/lib/decode_ra_code_impl.cc Examining data/gr-satellites-3.5.1/lib/decode_ra_code_impl.h Examining data/gr-satellites-3.5.1/lib/decode_rs_general_impl.cc Examining data/gr-satellites-3.5.1/lib/decode_rs_general_impl.h Examining data/gr-satellites-3.5.1/lib/decode_rs_impl.cc Examining data/gr-satellites-3.5.1/lib/decode_rs_impl.h Examining data/gr-satellites-3.5.1/lib/decode_rs_interleaved_impl.cc Examining data/gr-satellites-3.5.1/lib/decode_rs_interleaved_impl.h Examining data/gr-satellites-3.5.1/lib/descrambler308_impl.cc Examining data/gr-satellites-3.5.1/lib/descrambler308_impl.h Examining data/gr-satellites-3.5.1/lib/distributed_syncframe_soft_impl.cc Examining data/gr-satellites-3.5.1/lib/distributed_syncframe_soft_impl.h Examining data/gr-satellites-3.5.1/lib/encode_rs_impl.cc Examining data/gr-satellites-3.5.1/lib/encode_rs_impl.h Examining data/gr-satellites-3.5.1/lib/golay24.c Examining data/gr-satellites-3.5.1/lib/golay24.h Examining data/gr-satellites-3.5.1/lib/libfec/ccsds.c Examining data/gr-satellites-3.5.1/lib/libfec/ccsds.h Examining data/gr-satellites-3.5.1/lib/libfec/char.h Examining data/gr-satellites-3.5.1/lib/libfec/decode_rs.h Examining data/gr-satellites-3.5.1/lib/libfec/decode_rs_8.c Examining data/gr-satellites-3.5.1/lib/libfec/decode_rs_ccsds.c Examining data/gr-satellites-3.5.1/lib/libfec/decode_rs_char.c Examining data/gr-satellites-3.5.1/lib/libfec/encode_rs.h Examining data/gr-satellites-3.5.1/lib/libfec/encode_rs_8.c Examining data/gr-satellites-3.5.1/lib/libfec/encode_rs_ccsds.c Examining data/gr-satellites-3.5.1/lib/libfec/encode_rs_char.c Examining data/gr-satellites-3.5.1/lib/libfec/fec.h Examining data/gr-satellites-3.5.1/lib/libfec/fixed.h Examining data/gr-satellites-3.5.1/lib/libfec/init_rs.h Examining data/gr-satellites-3.5.1/lib/libfec/init_rs_char.c Examining data/gr-satellites-3.5.1/lib/libfec/rs-common.h Examining data/gr-satellites-3.5.1/lib/libfec/taltab.c Examining data/gr-satellites-3.5.1/lib/lilacsat1_demux_impl.cc Examining data/gr-satellites-3.5.1/lib/lilacsat1_demux_impl.h Examining data/gr-satellites-3.5.1/lib/matrix_deinterleaver_soft_impl.cc Examining data/gr-satellites-3.5.1/lib/matrix_deinterleaver_soft_impl.h Examining data/gr-satellites-3.5.1/lib/nrzi_decode_impl.cc Examining data/gr-satellites-3.5.1/lib/nrzi_decode_impl.h Examining data/gr-satellites-3.5.1/lib/nrzi_encode_impl.cc Examining data/gr-satellites-3.5.1/lib/nrzi_encode_impl.h Examining data/gr-satellites-3.5.1/lib/nusat_decoder_impl.cc Examining data/gr-satellites-3.5.1/lib/nusat_decoder_impl.h Examining data/gr-satellites-3.5.1/lib/qa_satellites.cc Examining data/gr-satellites-3.5.1/lib/qa_satellites.h Examining data/gr-satellites-3.5.1/lib/radecoder/ra_config.c Examining data/gr-satellites-3.5.1/lib/radecoder/ra_config.h Examining data/gr-satellites-3.5.1/lib/radecoder/ra_decoder_gen.c Examining data/gr-satellites-3.5.1/lib/radecoder/ra_decoder_gen.h Examining data/gr-satellites-3.5.1/lib/radecoder/ra_encoder.c Examining data/gr-satellites-3.5.1/lib/radecoder/ra_encoder.h Examining data/gr-satellites-3.5.1/lib/radecoder/ra_lfsr.c Examining data/gr-satellites-3.5.1/lib/radecoder/ra_lfsr.h Examining data/gr-satellites-3.5.1/lib/randomizer.c Examining data/gr-satellites-3.5.1/lib/randomizer.h Examining data/gr-satellites-3.5.1/lib/rs.h Examining data/gr-satellites-3.5.1/lib/test_satellites.cc Examining data/gr-satellites-3.5.1/lib/u482c_decode_impl.cc Examining data/gr-satellites-3.5.1/lib/u482c_decode_impl.h Examining data/gr-satellites-3.5.1/lib/varlen_packet_framer_impl.cc Examining data/gr-satellites-3.5.1/lib/varlen_packet_framer_impl.h Examining data/gr-satellites-3.5.1/lib/varlen_packet_tagger_impl.cc Examining data/gr-satellites-3.5.1/lib/varlen_packet_tagger_impl.h Examining data/gr-satellites-3.5.1/lib/viterbi.c Examining data/gr-satellites-3.5.1/lib/viterbi.h Examining data/gr-satellites-3.5.1/tests/ted-gain/test.cc FINAL RESULTS: data/gr-satellites-3.5.1/lib/ax100_decode_impl.cc:74:10: [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(d_data.data(), msg, length); data/gr-satellites-3.5.1/lib/decode_rs_general_impl.cc:91:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(d_data.data(), msg, length); data/gr-satellites-3.5.1/lib/decode_rs_impl.cc:76:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(d_data.data(), msg, length); data/gr-satellites-3.5.1/lib/encode_rs_impl.cc:70:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(d_data.data(), msg, length); data/gr-satellites-3.5.1/lib/libfec/decode_rs.h:212: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(lambda, t, (NROOTS + 1) * sizeof(t[0])); data/gr-satellites-3.5.1/lib/libfec/decode_rs.h:224:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(®[1], &lambda[1], NROOTS * sizeof(reg[0])); data/gr-satellites-3.5.1/lib/nusat_decoder_impl.cc:117:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(d_data.data(), msg, msg_length); data/gr-satellites-3.5.1/lib/randomizer.c:29:5: [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 x[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; data/gr-satellites-3.5.1/lib/u482c_decode_impl.cc:103:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(d_data.data(), msg, data_len); data/gr-satellites-3.5.1/lib/varlen_packet_framer_impl.cc:125:17: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(out, (const void*)&d_sync_word[0], asm_len); data/gr-satellites-3.5.1/lib/varlen_packet_framer_impl.cc:147: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(&out[d_header_length], in, packet_len); data/gr-satellites-3.5.1/lib/varlen_packet_tagger_impl.cc:155: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(out, &in[d_header_length], packet_len); data/gr-satellites-3.5.1/lib/viterbi.c:281:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dp++, d, sizeof(decision_t)); data/gr-satellites-3.5.1/lib/viterbi.c:299:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char temp[256]; data/gr-satellites-3.5.1/lib/viterbi.c:310:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(channel, temp, 2 * (framebits / 8) + 2); ANALYSIS SUMMARY: Hits = 15 Lines analyzed = 5706 in approximately 0.27 seconds (20916 lines/second) Physical Source Lines of Code (SLOC) = 3397 Hits@level = [0] 26 [1] 0 [2] 15 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 41 [1+] 15 [2+] 15 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 12.0695 [1+] 4.41566 [2+] 4.41566 [3+] 0 [4+] 0 [5+] 0 Dot directories skipped = 2 (--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.