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/liblastfm-1.0.9/demos/demo1.cpp Examining data/liblastfm-1.0.9/demos/demo2.cpp Examining data/liblastfm-1.0.9/demos/demo3.cpp Examining data/liblastfm-1.0.9/src/AbstractType.h Examining data/liblastfm-1.0.9/src/Album.cpp Examining data/liblastfm-1.0.9/src/Album.h Examining data/liblastfm-1.0.9/src/Artist.cpp Examining data/liblastfm-1.0.9/src/Artist.h Examining data/liblastfm-1.0.9/src/Audioscrobbler.cpp Examining data/liblastfm-1.0.9/src/Audioscrobbler.h Examining data/liblastfm-1.0.9/src/Auth.cpp Examining data/liblastfm-1.0.9/src/Auth.h Examining data/liblastfm-1.0.9/src/Chart.cpp Examining data/liblastfm-1.0.9/src/Chart.h Examining data/liblastfm-1.0.9/src/FingerprintId.cpp Examining data/liblastfm-1.0.9/src/FingerprintId.h Examining data/liblastfm-1.0.9/src/InternetConnectionMonitor.cpp Examining data/liblastfm-1.0.9/src/InternetConnectionMonitor.h Examining data/liblastfm-1.0.9/src/Library.cpp Examining data/liblastfm-1.0.9/src/Library.h Examining data/liblastfm-1.0.9/src/Mbid.cpp Examining data/liblastfm-1.0.9/src/Mbid.h Examining data/liblastfm-1.0.9/src/NetworkAccessManager.cpp Examining data/liblastfm-1.0.9/src/NetworkAccessManager.h Examining data/liblastfm-1.0.9/src/NetworkConnectionMonitor.cpp Examining data/liblastfm-1.0.9/src/NetworkConnectionMonitor.h Examining data/liblastfm-1.0.9/src/Playlist.cpp Examining data/liblastfm-1.0.9/src/Playlist.h Examining data/liblastfm-1.0.9/src/RadioStation.cpp Examining data/liblastfm-1.0.9/src/RadioStation.h Examining data/liblastfm-1.0.9/src/RadioTuner.cpp Examining data/liblastfm-1.0.9/src/RadioTuner.h Examining data/liblastfm-1.0.9/src/ScrobbleCache.cpp Examining data/liblastfm-1.0.9/src/ScrobbleCache.h Examining data/liblastfm-1.0.9/src/ScrobblePoint.cpp Examining data/liblastfm-1.0.9/src/ScrobblePoint.h Examining data/liblastfm-1.0.9/src/Tag.cpp Examining data/liblastfm-1.0.9/src/Tag.h Examining data/liblastfm-1.0.9/src/Tasteometer.cpp Examining data/liblastfm-1.0.9/src/Tasteometer.h Examining data/liblastfm-1.0.9/src/Track.cpp Examining data/liblastfm-1.0.9/src/Track.h Examining data/liblastfm-1.0.9/src/Url.cpp Examining data/liblastfm-1.0.9/src/Url.h Examining data/liblastfm-1.0.9/src/UrlBuilder.cpp Examining data/liblastfm-1.0.9/src/UrlBuilder.h Examining data/liblastfm-1.0.9/src/User.cpp Examining data/liblastfm-1.0.9/src/User.h Examining data/liblastfm-1.0.9/src/XmlQuery.cpp Examining data/liblastfm-1.0.9/src/XmlQuery.h Examining data/liblastfm-1.0.9/src/Xspf.cpp Examining data/liblastfm-1.0.9/src/Xspf.h Examining data/liblastfm-1.0.9/src/fingerprint/Collection.cpp Examining data/liblastfm-1.0.9/src/fingerprint/Collection.h Examining data/liblastfm-1.0.9/src/fingerprint/EXAMPLE.cpp Examining data/liblastfm-1.0.9/src/fingerprint/Fingerprint.cpp Examining data/liblastfm-1.0.9/src/fingerprint/Fingerprint.h Examining data/liblastfm-1.0.9/src/fingerprint/FingerprintableSource.h Examining data/liblastfm-1.0.9/src/fingerprint/Sha256.cpp Examining data/liblastfm-1.0.9/src/fingerprint/Sha256.h Examining data/liblastfm-1.0.9/src/fingerprint/contrib/AacSource.cpp Examining data/liblastfm-1.0.9/src/fingerprint/contrib/AacSource.h Examining data/liblastfm-1.0.9/src/fingerprint/contrib/AacSource_p.h Examining data/liblastfm-1.0.9/src/fingerprint/contrib/FlacSource.cpp Examining data/liblastfm-1.0.9/src/fingerprint/contrib/FlacSource.h Examining data/liblastfm-1.0.9/src/fingerprint/contrib/MadSource.cpp Examining data/liblastfm-1.0.9/src/fingerprint/contrib/MadSource.h Examining data/liblastfm-1.0.9/src/fingerprint/contrib/VorbisSource.cpp Examining data/liblastfm-1.0.9/src/fingerprint/contrib/VorbisSource.h Examining data/liblastfm-1.0.9/src/fingerprint/contrib/main.cpp Examining data/liblastfm-1.0.9/src/fingerprint/fplib/CircularArray.h Examining data/liblastfm-1.0.9/src/fingerprint/fplib/Filter.cpp Examining data/liblastfm-1.0.9/src/fingerprint/fplib/Filter.h Examining data/liblastfm-1.0.9/src/fingerprint/fplib/FingerprintExtractor.cpp Examining data/liblastfm-1.0.9/src/fingerprint/fplib/FingerprintExtractor.h Examining data/liblastfm-1.0.9/src/fingerprint/fplib/FloatingAverage.h Examining data/liblastfm-1.0.9/src/fingerprint/fplib/OptFFT.cpp Examining data/liblastfm-1.0.9/src/fingerprint/fplib/OptFFT.h Examining data/liblastfm-1.0.9/src/fingerprint/fplib/fp_helper_fun.h Examining data/liblastfm-1.0.9/src/linux/LNetworkConnectionMonitor.h Examining data/liblastfm-1.0.9/src/linux/LNetworkConnectionMonitor_linux.cpp Examining data/liblastfm-1.0.9/src/mac/MNetworkConnectionMonitor.h Examining data/liblastfm-1.0.9/src/mac/MNetworkConnectionMonitor_mac.cpp Examining data/liblastfm-1.0.9/src/mac/ProxyDict.h Examining data/liblastfm-1.0.9/src/mbid_mp3.c Examining data/liblastfm-1.0.9/src/misc.cpp Examining data/liblastfm-1.0.9/src/misc.h Examining data/liblastfm-1.0.9/src/win/ComSetup.h Examining data/liblastfm-1.0.9/src/win/IeSettings.h Examining data/liblastfm-1.0.9/src/win/NdisEvents.cpp Examining data/liblastfm-1.0.9/src/win/NdisEvents.h Examining data/liblastfm-1.0.9/src/win/WNetworkConnectionMonitor.h Examining data/liblastfm-1.0.9/src/win/WNetworkConnectionMonitor_win.cpp Examining data/liblastfm-1.0.9/src/win/WmiSink.cpp Examining data/liblastfm-1.0.9/src/win/WmiSink.h Examining data/liblastfm-1.0.9/src/ws.cpp Examining data/liblastfm-1.0.9/src/ws.h Examining data/liblastfm-1.0.9/tests/TestTrack.h Examining data/liblastfm-1.0.9/tests/TestUrlBuilder.h FINAL RESULTS: data/liblastfm-1.0.9/src/Mbid.cpp:78: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 out[MBID_BUFFER_SIZE]; data/liblastfm-1.0.9/src/ScrobbleCache.cpp:86:10: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). file.open( QFile::Text | QFile::ReadOnly ); data/liblastfm-1.0.9/src/ScrobbleCache.cpp:117:14: [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). file.open( QIODevice::WriteOnly | QIODevice::Text ); data/liblastfm-1.0.9/src/fingerprint/Collection.cpp:45:15: [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). if (!m_db.open()) { data/liblastfm-1.0.9/src/fingerprint/Fingerprint.cpp:206: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 hash[SHA256_HASH_SIZE]; data/liblastfm-1.0.9/src/fingerprint/Sha256.cpp:203: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[128]; data/liblastfm-1.0.9/src/fingerprint/Sha256.cpp:336: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 (&sc->buffer.bytes[sc->bufferLength], data, bytesToCopy); data/liblastfm-1.0.9/src/fingerprint/Sha256.cpp:362: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 (&sc->buffer.bytes[sc->bufferLength], data, len); data/liblastfm-1.0.9/src/fingerprint/Sha256.cpp:376: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 (&sc->buffer.bytes[sc->bufferLength], data, bytesToCopy); data/liblastfm-1.0.9/src/fingerprint/Sha256.cpp:437: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[1000]; data/liblastfm-1.0.9/src/fingerprint/contrib/AacSource.cpp:213:10: [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). fp = fopen(QFile::encodeName(m_fileName), "rb" ); data/liblastfm-1.0.9/src/fingerprint/contrib/AacSource.cpp:355:18: [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 header[8]; data/liblastfm-1.0.9/src/fingerprint/contrib/AacSource.cpp:376: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. unsigned char rest[2]; data/liblastfm-1.0.9/src/fingerprint/contrib/AacSource.cpp:510:10: [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). fp = fopen(QFile::encodeName(m_fileName), "rb"); data/liblastfm-1.0.9/src/fingerprint/contrib/AacSource.cpp:746: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 header[10]; data/liblastfm-1.0.9/src/fingerprint/contrib/AacSource.cpp:749:10: [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). fp = fopen(QFile::encodeName(m_fileName), "rb"); data/liblastfm-1.0.9/src/fingerprint/contrib/AacSource.cpp:892: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( pBuffer, m_aacFile->m_overflow, samples_to_use * sizeof(signed short) ); data/liblastfm-1.0.9/src/fingerprint/contrib/AacSource.cpp:923: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( pBufferIt, sampleBuffer, samples_to_use * sizeof(signed short) ); data/liblastfm-1.0.9/src/fingerprint/contrib/AacSource.cpp:930: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( m_aacFile->m_overflow, static_cast<signed short*>(sampleBuffer) + samples_to_use, (frameInfo.samples - samples_to_use) * sizeof(signed short) ); data/liblastfm-1.0.9/src/fingerprint/contrib/FlacSource.cpp:154: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). FILE *f = fopen(QFile::encodeName(m_fileName), "rb" ); data/liblastfm-1.0.9/src/fingerprint/contrib/FlacSource.cpp:158:22: [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 header[35]; data/liblastfm-1.0.9/src/fingerprint/contrib/FlacSource.cpp:311: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( pBufferIt, m_outBuf + m_outBufPos, sizeof(signed short)*samples_to_use ); data/liblastfm-1.0.9/src/fingerprint/contrib/MadSource.cpp:193:28: [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). bool fine = m_inputFile.open( QIODevice::ReadOnly ); data/liblastfm-1.0.9/src/fingerprint/contrib/MadSource.cpp:223:26: [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). bool fine = inputFile.open( QIODevice::ReadOnly ); data/liblastfm-1.0.9/src/fingerprint/contrib/VorbisSource.cpp:67:16: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *fp = fopen(QFile::encodeName(m_fileName), "rb" ); data/liblastfm-1.0.9/src/fingerprint/contrib/VorbisSource.cpp:116: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 sampleBuffer[4096]; data/liblastfm-1.0.9/src/fingerprint/contrib/VorbisSource.cpp:158: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[ bufferSize * wordSize ]; data/liblastfm-1.0.9/src/fingerprint/contrib/VorbisSource.cpp:194: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( pBufferIt, buf, charReadBytes ); data/liblastfm-1.0.9/src/fingerprint/contrib/main.cpp:109: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 header[35]; data/liblastfm-1.0.9/src/fingerprint/contrib/main.cpp:111:10: [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). fp = fopen(QFile::encodeName(fileName), "rb"); data/liblastfm-1.0.9/src/fingerprint/fplib/CircularArray.h:274:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( pDest, _pData, sizeof(T)*_size ); data/liblastfm-1.0.9/src/fingerprint/fplib/FingerprintExtractor.cpp:443: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. memcpy( pd.m_pDownsampledPCM, pd.m_pDownsampledPCM + pd.m_downsampledProcessSize, data/liblastfm-1.0.9/src/fingerprint/fplib/OptFFT.cpp:340:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy( pIn_It, &pInData[i*OVERLAPSAMPLES], sizeof(float) * FRAMESIZE); data/liblastfm-1.0.9/src/mbid_mp3.c:68:23: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. int getMP3_MBID(const char *path, char mbid[MBID_BUFFER_SIZE]) data/liblastfm-1.0.9/src/mbid_mp3.c:68:35: [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. int getMP3_MBID(const char *path, char mbid[MBID_BUFFER_SIZE]) data/liblastfm-1.0.9/src/mbid_mp3.c:72: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 head[3]; data/liblastfm-1.0.9/src/mbid_mp3.c:73: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 version[2]; data/liblastfm-1.0.9/src/mbid_mp3.c:74: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 flag[1]; data/liblastfm-1.0.9/src/mbid_mp3.c:75: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 size[4]; data/liblastfm-1.0.9/src/mbid_mp3.c:76: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 size_extended[4]; data/liblastfm-1.0.9/src/mbid_mp3.c:79: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 frame[4]; data/liblastfm-1.0.9/src/mbid_mp3.c:80: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 frame_header[4]; data/liblastfm-1.0.9/src/mbid_mp3.c:89:9: [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). fp = fopen(path,"rb"); data/liblastfm-1.0.9/src/mbid_mp3.c:154: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 frame_data[59]; data/liblastfm-1.0.9/src/misc.cpp:53:9: [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 path[MAX_PATH]; data/liblastfm-1.0.9/src/misc.cpp:106: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 path[MAX_PATH]; data/liblastfm-1.0.9/src/ScrobbleCache.cpp:40:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read( QDomDocument& xml ); /// reads from m_path into m_tracks data/liblastfm-1.0.9/src/ScrobbleCache.cpp:54:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). d->read( xml ); data/liblastfm-1.0.9/src/ScrobbleCache.cpp:81:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). lastfm::ScrobbleCachePrivate::read( QDomDocument& xml ) data/liblastfm-1.0.9/src/fingerprint/Fingerprint.cpp:226:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). inFile.read( reinterpret_cast<char*>(pMovableBuffer), SHA_BUFFER_SIZE ); data/liblastfm-1.0.9/src/fingerprint/contrib/MadSource.cpp:330:26: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). readSize = mp3File.read( reinterpret_cast<char*>(pReadStart), readSize ); data/liblastfm-1.0.9/src/mbid_mp3.c:159:16: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(mbid,tmbid,MBID_BUFFER_SIZE-1); ANALYSIS SUMMARY: Hits = 52 Lines analyzed = 16141 in approximately 0.46 seconds (35428 lines/second) Physical Source Lines of Code (SLOC) = 10266 Hits@level = [0] 22 [1] 6 [2] 46 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 74 [1+] 52 [2+] 46 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 7.20826 [1+] 5.06526 [2+] 4.48081 [3+] 0 [4+] 0 [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.