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/chromaprint-1.5.0/src/audio/audio_slicer.h Examining data/chromaprint-1.5.0/src/audio/audio_slicer_test.cpp Examining data/chromaprint-1.5.0/src/audio/ffmpeg_audio_processor.h Examining data/chromaprint-1.5.0/src/audio/ffmpeg_audio_processor_avresample.h Examining data/chromaprint-1.5.0/src/audio/ffmpeg_audio_processor_swresample.h Examining data/chromaprint-1.5.0/src/audio/ffmpeg_audio_reader.h Examining data/chromaprint-1.5.0/src/audio/ffmpeg_audio_reader_test.cpp Examining data/chromaprint-1.5.0/src/audio_consumer.h Examining data/chromaprint-1.5.0/src/audio_processor.cpp Examining data/chromaprint-1.5.0/src/audio_processor.h Examining data/chromaprint-1.5.0/src/avresample/avcodec.h Examining data/chromaprint-1.5.0/src/avresample/dsputil.h Examining data/chromaprint-1.5.0/src/avresample/resample2.c Examining data/chromaprint-1.5.0/src/chroma.cpp Examining data/chromaprint-1.5.0/src/chroma.h Examining data/chromaprint-1.5.0/src/chroma_filter.cpp Examining data/chromaprint-1.5.0/src/chroma_filter.h Examining data/chromaprint-1.5.0/src/chroma_normalizer.h Examining data/chromaprint-1.5.0/src/chroma_resampler.cpp Examining data/chromaprint-1.5.0/src/chroma_resampler.h Examining data/chromaprint-1.5.0/src/chromaprint.cpp Examining data/chromaprint-1.5.0/src/chromaprint.h Examining data/chromaprint-1.5.0/src/classifier.h Examining data/chromaprint-1.5.0/src/cmd/fpcalc.cpp Examining data/chromaprint-1.5.0/src/debug.h Examining data/chromaprint-1.5.0/src/feature_vector_consumer.h Examining data/chromaprint-1.5.0/src/fft.cpp Examining data/chromaprint-1.5.0/src/fft.h Examining data/chromaprint-1.5.0/src/fft_frame.h Examining data/chromaprint-1.5.0/src/fft_frame_consumer.h Examining data/chromaprint-1.5.0/src/fft_lib.h Examining data/chromaprint-1.5.0/src/fft_lib_avfft.cpp Examining data/chromaprint-1.5.0/src/fft_lib_avfft.h Examining data/chromaprint-1.5.0/src/fft_lib_fftw3.cpp Examining data/chromaprint-1.5.0/src/fft_lib_fftw3.h Examining data/chromaprint-1.5.0/src/fft_lib_kissfft.cpp Examining data/chromaprint-1.5.0/src/fft_lib_kissfft.h Examining data/chromaprint-1.5.0/src/fft_lib_vdsp.cpp Examining data/chromaprint-1.5.0/src/fft_lib_vdsp.h Examining data/chromaprint-1.5.0/src/fft_test.cpp Examining data/chromaprint-1.5.0/src/filter.h Examining data/chromaprint-1.5.0/src/filter_utils.h Examining data/chromaprint-1.5.0/src/fingerprint_calculator.cpp Examining data/chromaprint-1.5.0/src/fingerprint_calculator.h Examining data/chromaprint-1.5.0/src/fingerprint_compressor.cpp Examining data/chromaprint-1.5.0/src/fingerprint_compressor.h Examining data/chromaprint-1.5.0/src/fingerprint_decompressor.cpp Examining data/chromaprint-1.5.0/src/fingerprint_decompressor.h Examining data/chromaprint-1.5.0/src/fingerprint_matcher.cpp Examining data/chromaprint-1.5.0/src/fingerprint_matcher.h Examining data/chromaprint-1.5.0/src/fingerprinter.cpp Examining data/chromaprint-1.5.0/src/fingerprinter.h Examining data/chromaprint-1.5.0/src/fingerprinter_configuration.cpp Examining data/chromaprint-1.5.0/src/fingerprinter_configuration.h Examining data/chromaprint-1.5.0/src/image.h Examining data/chromaprint-1.5.0/src/image_builder.cpp Examining data/chromaprint-1.5.0/src/image_builder.h Examining data/chromaprint-1.5.0/src/moving_average.h Examining data/chromaprint-1.5.0/src/quantizer.h Examining data/chromaprint-1.5.0/src/silence_remover.cpp Examining data/chromaprint-1.5.0/src/silence_remover.h Examining data/chromaprint-1.5.0/src/simhash.cpp Examining data/chromaprint-1.5.0/src/simhash.h Examining data/chromaprint-1.5.0/src/spectrum.cpp Examining data/chromaprint-1.5.0/src/spectrum.h Examining data/chromaprint-1.5.0/src/utils.h Examining data/chromaprint-1.5.0/src/utils/base64.cpp Examining data/chromaprint-1.5.0/src/utils/base64.h Examining data/chromaprint-1.5.0/src/utils/base64_test.cpp Examining data/chromaprint-1.5.0/src/utils/gaussian_filter.h Examining data/chromaprint-1.5.0/src/utils/gradient.h Examining data/chromaprint-1.5.0/src/utils/pack_int3_array.h Examining data/chromaprint-1.5.0/src/utils/pack_int5_array.h Examining data/chromaprint-1.5.0/src/utils/rolling_integral_image.h Examining data/chromaprint-1.5.0/src/utils/rolling_integral_image_test.cpp Examining data/chromaprint-1.5.0/src/utils/scope_exit.h Examining data/chromaprint-1.5.0/src/utils/unpack_int3_array.h Examining data/chromaprint-1.5.0/src/utils/unpack_int5_array.h Examining data/chromaprint-1.5.0/tests/audio_buffer.h Examining data/chromaprint-1.5.0/tests/main.cpp Examining data/chromaprint-1.5.0/tests/test_api.cpp Examining data/chromaprint-1.5.0/tests/test_audio_processor.cpp Examining data/chromaprint-1.5.0/tests/test_chroma.cpp Examining data/chromaprint-1.5.0/tests/test_chroma_filter.cpp Examining data/chromaprint-1.5.0/tests/test_chroma_resampler.cpp Examining data/chromaprint-1.5.0/tests/test_chromaprint.cpp Examining data/chromaprint-1.5.0/tests/test_filter.cpp Examining data/chromaprint-1.5.0/tests/test_filter_utils.cpp Examining data/chromaprint-1.5.0/tests/test_fingerprint_compressor.cpp Examining data/chromaprint-1.5.0/tests/test_fingerprint_decompressor.cpp Examining data/chromaprint-1.5.0/tests/test_fingerprint_matcher.cpp Examining data/chromaprint-1.5.0/tests/test_moving_average.cpp Examining data/chromaprint-1.5.0/tests/test_quantizer.cpp Examining data/chromaprint-1.5.0/tests/test_silence_remover.cpp Examining data/chromaprint-1.5.0/tests/test_simhash.cpp Examining data/chromaprint-1.5.0/tests/test_utils.cpp Examining data/chromaprint-1.5.0/tests/test_utils.h Examining data/chromaprint-1.5.0/tests/test_utils_gaussian_filter.cpp Examining data/chromaprint-1.5.0/tests/test_utils_gradient.cpp Examining data/chromaprint-1.5.0/vendor/kissfft/_kiss_fft_guts.h Examining data/chromaprint-1.5.0/vendor/kissfft/kiss_fft.c Examining data/chromaprint-1.5.0/vendor/kissfft/kiss_fft.h Examining data/chromaprint-1.5.0/vendor/kissfft/test/benchfftw.c Examining data/chromaprint-1.5.0/vendor/kissfft/test/benchkiss.c Examining data/chromaprint-1.5.0/vendor/kissfft/test/doit.c Examining data/chromaprint-1.5.0/vendor/kissfft/test/pstats.c Examining data/chromaprint-1.5.0/vendor/kissfft/test/pstats.h Examining data/chromaprint-1.5.0/vendor/kissfft/test/test_real.c Examining data/chromaprint-1.5.0/vendor/kissfft/test/test_vs_dft.c Examining data/chromaprint-1.5.0/vendor/kissfft/test/testcpp.cc Examining data/chromaprint-1.5.0/vendor/kissfft/test/twotonetest.c Examining data/chromaprint-1.5.0/vendor/kissfft/tools/fftutil.c Examining data/chromaprint-1.5.0/vendor/kissfft/tools/kfc.c Examining data/chromaprint-1.5.0/vendor/kissfft/tools/kfc.h Examining data/chromaprint-1.5.0/vendor/kissfft/tools/kiss_fastfir.c Examining data/chromaprint-1.5.0/vendor/kissfft/tools/kiss_fftnd.c Examining data/chromaprint-1.5.0/vendor/kissfft/tools/kiss_fftnd.h Examining data/chromaprint-1.5.0/vendor/kissfft/tools/kiss_fftndr.c Examining data/chromaprint-1.5.0/vendor/kissfft/tools/kiss_fftndr.h Examining data/chromaprint-1.5.0/vendor/kissfft/tools/kiss_fftr.c Examining data/chromaprint-1.5.0/vendor/kissfft/tools/kiss_fftr.h Examining data/chromaprint-1.5.0/vendor/kissfft/tools/psdpng.c FINAL RESULTS: data/chromaprint-1.5.0/src/cmd/fpcalc.cpp:137:4: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(stdout, g_help, argv[0]); data/chromaprint-1.5.0/vendor/kissfft/test/doit.c:52:5: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(stderr,\ data/chromaprint-1.5.0/vendor/kissfft/test/pstats.c:39:9: [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. if (system( buf )==-1) { data/chromaprint-1.5.0/vendor/kissfft/test/benchfftw.c:49:15: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. int c = getopt (argc, argv, "n:ix:h"); data/chromaprint-1.5.0/vendor/kissfft/test/benchkiss.c:39:17: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. int c = getopt (argc, argv, "n:ix:r"); data/chromaprint-1.5.0/vendor/kissfft/test/test_real.c:86:5: [3] (random) srand: 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. srand(time(0)); data/chromaprint-1.5.0/vendor/kissfft/tools/fftutil.c:162:15: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. int c=getopt(argc,argv,"n:iR"); data/chromaprint-1.5.0/vendor/kissfft/tools/kiss_fastfir.c:401:15: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. int c=getopt(argc,argv,"n:h:i:o:vd"); data/chromaprint-1.5.0/vendor/kissfft/tools/psdpng.c:39:17: [3] (buffer) getopt: Some older implementations do not protect against internal buffer overflows (CWE-120, CWE-20). Check implementation on installation, or limit the size of all string inputs. int c = getopt (argc, argv, "n:r:as"); data/chromaprint-1.5.0/src/audio/ffmpeg_audio_reader.h:139:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[64]; data/chromaprint-1.5.0/src/audio/ffmpeg_audio_reader.h:140:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf, "%d", sample_rate); data/chromaprint-1.5.0/src/audio/ffmpeg_audio_reader.h:145:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[64]; data/chromaprint-1.5.0/src/audio/ffmpeg_audio_reader.h:146:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf, "%d", channels); data/chromaprint-1.5.0/src/audio/ffmpeg_audio_reader.h:362:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[AV_ERROR_MAX_STRING_SIZE]; data/chromaprint-1.5.0/src/avresample/resample2.c:207: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(&c->filter_bank[c->filter_length*phase_count+1], c->filter_bank, (c->filter_length-1)*sizeof(FELEM)); data/chromaprint-1.5.0/src/cmd/fpcalc.cpp:68:17: [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 value = atoi(argv[i + 1]); data/chromaprint-1.5.0/src/cmd/fpcalc.cpp:77:17: [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 value = atoi(argv[i + 1]); data/chromaprint-1.5.0/src/cmd/fpcalc.cpp:104:26: [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 value = atoi(argv[i + 1]); data/chromaprint-1.5.0/src/utils/base64.h:11: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. static const char kBase64Chars[65] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"; data/chromaprint-1.5.0/src/utils/base64.h:12: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. static const char kBase64CharsReversed[256] = { data/chromaprint-1.5.0/vendor/kissfft/kiss_fft.c:378: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(fout,tmpbuf,sizeof(kiss_fft_cpx)*st->nfft); data/chromaprint-1.5.0/vendor/kissfft/test/benchfftw.c:54:16: [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). nfft = atoi (optarg); data/chromaprint-1.5.0/vendor/kissfft/test/benchfftw.c:57:19: [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). numffts = atoi (optarg); data/chromaprint-1.5.0/vendor/kissfft/test/benchkiss.c:18:25: [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). dims[ndims++] = atoi(s); data/chromaprint-1.5.0/vendor/kissfft/test/benchkiss.c:54:27: [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). numffts = atoi (optarg); data/chromaprint-1.5.0/vendor/kissfft/test/pstats.c:33: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 buf[1024]; data/chromaprint-1.5.0/vendor/kissfft/test/pstats.c:35:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf,"ps -o command,majflt,minflt,rss,pagein,vsz -p %d 1>&2",getpid() ); data/chromaprint-1.5.0/vendor/kissfft/test/pstats.c:37:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf,"ps -o comm,majflt,minflt,rss,drs,pagein,sz,trs,vsz %d 1>&2",getpid() ); data/chromaprint-1.5.0/vendor/kissfft/test/test_real.c:74:16: [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). nfft = atoi(argv[1]); data/chromaprint-1.5.0/vendor/kissfft/test/test_vs_dft.c:66:20: [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). test1d(atoi(argv[k]),0); data/chromaprint-1.5.0/vendor/kissfft/test/test_vs_dft.c:67:20: [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). test1d(atoi(argv[k]),1); data/chromaprint-1.5.0/vendor/kissfft/test/testcpp.cc:64:24: [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). int nfft = atoi(argv[k]); data/chromaprint-1.5.0/vendor/kissfft/test/twotonetest.c:70:24: [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). if (argc>1) nfft = atoi(argv[1]); data/chromaprint-1.5.0/vendor/kissfft/tools/fftutil.c:144:25: [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). dims[ndims++] = atoi(arg); data/chromaprint-1.5.0/vendor/kissfft/tools/fftutil.c:182:19: [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). fin = fopen(argv[optind],"rb"); data/chromaprint-1.5.0/vendor/kissfft/tools/fftutil.c:188:20: [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). fout = fopen(argv[optind],"wb"); data/chromaprint-1.5.0/vendor/kissfft/tools/kiss_fastfir.c:220: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(st->tmpbuf,inbuf,sizeof(kffsamp_t)*n ); data/chromaprint-1.5.0/vendor/kissfft/tools/kiss_fastfir.c: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(outbuf,st->tmpbuf,sizeof(kffsamp_t)*( st->ngood - zpad )); data/chromaprint-1.5.0/vendor/kissfft/tools/kiss_fastfir.c:242: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( inbuf , inbuf+nwritten , *offset * sizeof(kffsamp_t) ); data/chromaprint-1.5.0/vendor/kissfft/tools/kiss_fastfir.c:408:22: [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). nfft=atoi(optarg); data/chromaprint-1.5.0/vendor/kissfft/tools/kiss_fastfir.c:411:23: [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). fin = fopen(optarg,"rb"); data/chromaprint-1.5.0/vendor/kissfft/tools/kiss_fastfir.c:418:24: [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). fout = fopen(optarg,"w+b"); data/chromaprint-1.5.0/vendor/kissfft/tools/kiss_fastfir.c:425:28: [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). filtfile = fopen(optarg,"rb"); data/chromaprint-1.5.0/vendor/kissfft/tools/kiss_fftnd.c:171: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( st->tmpbuf, fin, sizeof(kiss_fft_cpx) * st->dimprod ); data/chromaprint-1.5.0/vendor/kissfft/tools/psdpng.c:43:29: [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). case 'n': nfft=(int)atoi(optarg);break; data/chromaprint-1.5.0/vendor/kissfft/tools/psdpng.c:44:29: [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). case 'r': navg=(int)atoi(optarg);break; data/chromaprint-1.5.0/vendor/kissfft/tools/psdpng.c:63:19: [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). fin = fopen(argv[optind],"rb"); data/chromaprint-1.5.0/vendor/kissfft/tools/psdpng.c:69:20: [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). fout = fopen(argv[optind],"wb"); data/chromaprint-1.5.0/src/cmd/fpcalc.cpp:140:21: [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 auto len = strlen(argv[i]); data/chromaprint-1.5.0/tests/test_api.cpp:59:16: [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). ASSERT_EQ(18, strlen(fp)); data/chromaprint-1.5.0/tests/test_api.cpp:157:42: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). chromaprint_decode_fingerprint(encoded, strlen(encoded), &fp, &length, &algorithm, 1); data/chromaprint-1.5.0/tests/test_api.cpp:167:53: [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). auto ret = chromaprint_decode_fingerprint(encoded, strlen(encoded), &fp, &length, &algorithm, 1); data/chromaprint-1.5.0/tests/test_api.cpp:180:53: [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). auto ret = chromaprint_decode_fingerprint(encoded, strlen(encoded), &fp, &length, &algorithm, 1); data/chromaprint-1.5.0/tests/test_api.cpp:193:53: [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). auto ret = chromaprint_decode_fingerprint(encoded, strlen(encoded), &fp, &length, &algorithm, 1); data/chromaprint-1.5.0/tests/test_utils.h:37:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). file.read((char *) buf, 4096); ANALYSIS SUMMARY: Hits = 55 Lines analyzed = 11092 in approximately 0.40 seconds (27470 lines/second) Physical Source Lines of Code (SLOC) = 8311 Hits@level = [0] 82 [1] 7 [2] 39 [3] 6 [4] 3 [5] 0 Hits@level+ = [0+] 137 [1+] 55 [2+] 48 [3+] 9 [4+] 3 [5+] 0 Hits/KSLOC@level+ = [0+] 16.4842 [1+] 6.61774 [2+] 5.77548 [3+] 1.0829 [4+] 0.360967 [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.