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/stk-4.6.1+dfsg/iOS/demo/iOS Demo/AppDelegate.h Examining data/stk-4.6.1+dfsg/iOS/demo/iOS Demo/ViewController.h Examining data/stk-4.6.1+dfsg/include/ADSR.h Examining data/stk-4.6.1+dfsg/include/Asymp.h Examining data/stk-4.6.1+dfsg/include/BandedWG.h Examining data/stk-4.6.1+dfsg/include/BeeThree.h Examining data/stk-4.6.1+dfsg/include/BiQuad.h Examining data/stk-4.6.1+dfsg/include/Blit.h Examining data/stk-4.6.1+dfsg/include/BlitSaw.h Examining data/stk-4.6.1+dfsg/include/BlitSquare.h Examining data/stk-4.6.1+dfsg/include/BlowBotl.h Examining data/stk-4.6.1+dfsg/include/BlowHole.h Examining data/stk-4.6.1+dfsg/include/BowTable.h Examining data/stk-4.6.1+dfsg/include/Bowed.h Examining data/stk-4.6.1+dfsg/include/Brass.h Examining data/stk-4.6.1+dfsg/include/Chorus.h Examining data/stk-4.6.1+dfsg/include/Clarinet.h Examining data/stk-4.6.1+dfsg/include/Cubic.h Examining data/stk-4.6.1+dfsg/include/Delay.h Examining data/stk-4.6.1+dfsg/include/DelayA.h Examining data/stk-4.6.1+dfsg/include/DelayL.h Examining data/stk-4.6.1+dfsg/include/Drummer.h Examining data/stk-4.6.1+dfsg/include/Echo.h Examining data/stk-4.6.1+dfsg/include/Effect.h Examining data/stk-4.6.1+dfsg/include/Envelope.h Examining data/stk-4.6.1+dfsg/include/FM.h Examining data/stk-4.6.1+dfsg/include/FMVoices.h Examining data/stk-4.6.1+dfsg/include/FileLoop.h Examining data/stk-4.6.1+dfsg/include/FileRead.h Examining data/stk-4.6.1+dfsg/include/FileWrite.h Examining data/stk-4.6.1+dfsg/include/FileWvIn.h Examining data/stk-4.6.1+dfsg/include/FileWvOut.h Examining data/stk-4.6.1+dfsg/include/Filter.h Examining data/stk-4.6.1+dfsg/include/Fir.h Examining data/stk-4.6.1+dfsg/include/Flute.h Examining data/stk-4.6.1+dfsg/include/FormSwep.h Examining data/stk-4.6.1+dfsg/include/FreeVerb.h Examining data/stk-4.6.1+dfsg/include/Function.h Examining data/stk-4.6.1+dfsg/include/Generator.h Examining data/stk-4.6.1+dfsg/include/Granulate.h Examining data/stk-4.6.1+dfsg/include/Guitar.h Examining data/stk-4.6.1+dfsg/include/HevyMetl.h Examining data/stk-4.6.1+dfsg/include/Iir.h Examining data/stk-4.6.1+dfsg/include/InetWvIn.h Examining data/stk-4.6.1+dfsg/include/InetWvOut.h Examining data/stk-4.6.1+dfsg/include/Instrmnt.h Examining data/stk-4.6.1+dfsg/include/JCRev.h Examining data/stk-4.6.1+dfsg/include/JetTable.h Examining data/stk-4.6.1+dfsg/include/LentPitShift.h Examining data/stk-4.6.1+dfsg/include/Mandolin.h Examining data/stk-4.6.1+dfsg/include/Mesh2D.h Examining data/stk-4.6.1+dfsg/include/Messager.h Examining data/stk-4.6.1+dfsg/include/MidiFileIn.h Examining data/stk-4.6.1+dfsg/include/Modal.h Examining data/stk-4.6.1+dfsg/include/ModalBar.h Examining data/stk-4.6.1+dfsg/include/Modulate.h Examining data/stk-4.6.1+dfsg/include/Moog.h Examining data/stk-4.6.1+dfsg/include/Mutex.h Examining data/stk-4.6.1+dfsg/include/NRev.h Examining data/stk-4.6.1+dfsg/include/Noise.h Examining data/stk-4.6.1+dfsg/include/OnePole.h Examining data/stk-4.6.1+dfsg/include/OneZero.h Examining data/stk-4.6.1+dfsg/include/PRCRev.h Examining data/stk-4.6.1+dfsg/include/PercFlut.h Examining data/stk-4.6.1+dfsg/include/Phonemes.h Examining data/stk-4.6.1+dfsg/include/PitShift.h Examining data/stk-4.6.1+dfsg/include/Plucked.h Examining data/stk-4.6.1+dfsg/include/PoleZero.h Examining data/stk-4.6.1+dfsg/include/Recorder.h Examining data/stk-4.6.1+dfsg/include/ReedTable.h Examining data/stk-4.6.1+dfsg/include/Resonate.h Examining data/stk-4.6.1+dfsg/include/Rhodey.h Examining data/stk-4.6.1+dfsg/include/RtAudio.h Examining data/stk-4.6.1+dfsg/include/RtMidi.h Examining data/stk-4.6.1+dfsg/include/RtWvIn.h Examining data/stk-4.6.1+dfsg/include/RtWvOut.h Examining data/stk-4.6.1+dfsg/include/SKINImsg.h Examining data/stk-4.6.1+dfsg/include/SKINItbl.h Examining data/stk-4.6.1+dfsg/include/Sampler.h Examining data/stk-4.6.1+dfsg/include/Saxofony.h Examining data/stk-4.6.1+dfsg/include/Shakers.h Examining data/stk-4.6.1+dfsg/include/Simple.h Examining data/stk-4.6.1+dfsg/include/SineWave.h Examining data/stk-4.6.1+dfsg/include/SingWave.h Examining data/stk-4.6.1+dfsg/include/Sitar.h Examining data/stk-4.6.1+dfsg/include/Skini.h Examining data/stk-4.6.1+dfsg/include/Socket.h Examining data/stk-4.6.1+dfsg/include/Sphere.h Examining data/stk-4.6.1+dfsg/include/StifKarp.h Examining data/stk-4.6.1+dfsg/include/Stk.h Examining data/stk-4.6.1+dfsg/include/TapDelay.h Examining data/stk-4.6.1+dfsg/include/TcpClient.h Examining data/stk-4.6.1+dfsg/include/TcpServer.h Examining data/stk-4.6.1+dfsg/include/Thread.h Examining data/stk-4.6.1+dfsg/include/TubeBell.h Examining data/stk-4.6.1+dfsg/include/Twang.h Examining data/stk-4.6.1+dfsg/include/TwoPole.h Examining data/stk-4.6.1+dfsg/include/TwoZero.h Examining data/stk-4.6.1+dfsg/include/UdpSocket.h Examining data/stk-4.6.1+dfsg/include/Vector3D.h Examining data/stk-4.6.1+dfsg/include/VoicForm.h Examining data/stk-4.6.1+dfsg/include/Voicer.h Examining data/stk-4.6.1+dfsg/include/Whistle.h Examining data/stk-4.6.1+dfsg/include/Wurley.h Examining data/stk-4.6.1+dfsg/include/WvIn.h Examining data/stk-4.6.1+dfsg/include/WvOut.h Examining data/stk-4.6.1+dfsg/projects/demo/Md2Skini.cpp Examining data/stk-4.6.1+dfsg/projects/demo/utilities.cpp Examining data/stk-4.6.1+dfsg/projects/demo/utilities.h Examining data/stk-4.6.1+dfsg/projects/demo/demo.cpp Examining data/stk-4.6.1+dfsg/projects/effects/effects.cpp Examining data/stk-4.6.1+dfsg/projects/eguitar/eguitar.cpp Examining data/stk-4.6.1+dfsg/projects/eguitar/utilities.cpp Examining data/stk-4.6.1+dfsg/projects/eguitar/utilities.h Examining data/stk-4.6.1+dfsg/projects/examples/audioprobe.cpp Examining data/stk-4.6.1+dfsg/projects/examples/bethree.cpp Examining data/stk-4.6.1+dfsg/projects/examples/controlbee.cpp Examining data/stk-4.6.1+dfsg/projects/examples/crtsine.cpp Examining data/stk-4.6.1+dfsg/projects/examples/duplex.cpp Examining data/stk-4.6.1+dfsg/projects/examples/foursine.cpp Examining data/stk-4.6.1+dfsg/projects/examples/grains.cpp Examining data/stk-4.6.1+dfsg/projects/examples/inetIn.cpp Examining data/stk-4.6.1+dfsg/projects/examples/inetOut.cpp Examining data/stk-4.6.1+dfsg/projects/examples/midiprobe.cpp Examining data/stk-4.6.1+dfsg/projects/examples/play.cpp Examining data/stk-4.6.1+dfsg/projects/examples/playsmf.cpp Examining data/stk-4.6.1+dfsg/projects/examples/record.cpp Examining data/stk-4.6.1+dfsg/projects/examples/rtsine.cpp Examining data/stk-4.6.1+dfsg/projects/examples/sine.cpp Examining data/stk-4.6.1+dfsg/projects/examples/sineosc.cpp Examining data/stk-4.6.1+dfsg/projects/examples/threebees.cpp Examining data/stk-4.6.1+dfsg/projects/ragamatic/Drone.cpp Examining data/stk-4.6.1+dfsg/projects/ragamatic/Drone.h Examining data/stk-4.6.1+dfsg/projects/ragamatic/Tabla.cpp Examining data/stk-4.6.1+dfsg/projects/ragamatic/Tabla.h Examining data/stk-4.6.1+dfsg/projects/ragamatic/VoicDrum.cpp Examining data/stk-4.6.1+dfsg/projects/ragamatic/VoicDrum.h Examining data/stk-4.6.1+dfsg/projects/ragamatic/ragamat.cpp Examining data/stk-4.6.1+dfsg/rawwaves/makefunc.c Examining data/stk-4.6.1+dfsg/rawwaves/makemidi.c Examining data/stk-4.6.1+dfsg/rawwaves/makewavs.c Examining data/stk-4.6.1+dfsg/rawwaves/sine.c Examining data/stk-4.6.1+dfsg/src/ADSR.cpp Examining data/stk-4.6.1+dfsg/src/Asymp.cpp Examining data/stk-4.6.1+dfsg/src/BandedWG.cpp Examining data/stk-4.6.1+dfsg/src/BeeThree.cpp Examining data/stk-4.6.1+dfsg/src/BiQuad.cpp Examining data/stk-4.6.1+dfsg/src/Blit.cpp Examining data/stk-4.6.1+dfsg/src/BlitSaw.cpp Examining data/stk-4.6.1+dfsg/src/BlitSquare.cpp Examining data/stk-4.6.1+dfsg/src/BlowBotl.cpp Examining data/stk-4.6.1+dfsg/src/BlowHole.cpp Examining data/stk-4.6.1+dfsg/src/Bowed.cpp Examining data/stk-4.6.1+dfsg/src/Brass.cpp Examining data/stk-4.6.1+dfsg/src/Chorus.cpp Examining data/stk-4.6.1+dfsg/src/Clarinet.cpp Examining data/stk-4.6.1+dfsg/src/Delay.cpp Examining data/stk-4.6.1+dfsg/src/DelayA.cpp Examining data/stk-4.6.1+dfsg/src/DelayL.cpp Examining data/stk-4.6.1+dfsg/src/Drummer.cpp Examining data/stk-4.6.1+dfsg/src/Echo.cpp Examining data/stk-4.6.1+dfsg/src/Envelope.cpp Examining data/stk-4.6.1+dfsg/src/FM.cpp Examining data/stk-4.6.1+dfsg/src/FMVoices.cpp Examining data/stk-4.6.1+dfsg/src/FileLoop.cpp Examining data/stk-4.6.1+dfsg/src/FileRead.cpp Examining data/stk-4.6.1+dfsg/src/FileWrite.cpp Examining data/stk-4.6.1+dfsg/src/FileWvIn.cpp Examining data/stk-4.6.1+dfsg/src/FileWvOut.cpp Examining data/stk-4.6.1+dfsg/src/Fir.cpp Examining data/stk-4.6.1+dfsg/src/Flute.cpp Examining data/stk-4.6.1+dfsg/src/FormSwep.cpp Examining data/stk-4.6.1+dfsg/src/FreeVerb.cpp Examining data/stk-4.6.1+dfsg/src/Granulate.cpp Examining data/stk-4.6.1+dfsg/src/Guitar.cpp Examining data/stk-4.6.1+dfsg/src/HevyMetl.cpp Examining data/stk-4.6.1+dfsg/src/Iir.cpp Examining data/stk-4.6.1+dfsg/src/InetWvIn.cpp Examining data/stk-4.6.1+dfsg/src/InetWvOut.cpp Examining data/stk-4.6.1+dfsg/src/JCRev.cpp Examining data/stk-4.6.1+dfsg/src/LentPitShift.cpp Examining data/stk-4.6.1+dfsg/src/Mandolin.cpp Examining data/stk-4.6.1+dfsg/src/Mesh2D.cpp Examining data/stk-4.6.1+dfsg/src/Messager.cpp Examining data/stk-4.6.1+dfsg/src/MidiFileIn.cpp Examining data/stk-4.6.1+dfsg/src/Modal.cpp Examining data/stk-4.6.1+dfsg/src/ModalBar.cpp Examining data/stk-4.6.1+dfsg/src/Modulate.cpp Examining data/stk-4.6.1+dfsg/src/Moog.cpp Examining data/stk-4.6.1+dfsg/src/Mutex.cpp Examining data/stk-4.6.1+dfsg/src/NRev.cpp Examining data/stk-4.6.1+dfsg/src/Noise.cpp Examining data/stk-4.6.1+dfsg/src/OnePole.cpp Examining data/stk-4.6.1+dfsg/src/OneZero.cpp Examining data/stk-4.6.1+dfsg/src/PRCRev.cpp Examining data/stk-4.6.1+dfsg/src/PercFlut.cpp Examining data/stk-4.6.1+dfsg/src/Phonemes.cpp Examining data/stk-4.6.1+dfsg/src/PitShift.cpp Examining data/stk-4.6.1+dfsg/src/Plucked.cpp Examining data/stk-4.6.1+dfsg/src/PoleZero.cpp Examining data/stk-4.6.1+dfsg/src/Recorder.cpp Examining data/stk-4.6.1+dfsg/src/Resonate.cpp Examining data/stk-4.6.1+dfsg/src/Rhodey.cpp Examining data/stk-4.6.1+dfsg/src/RtAudio.cpp Examining data/stk-4.6.1+dfsg/src/RtMidi.cpp Examining data/stk-4.6.1+dfsg/src/RtWvIn.cpp Examining data/stk-4.6.1+dfsg/src/RtWvOut.cpp Examining data/stk-4.6.1+dfsg/src/Sampler.cpp Examining data/stk-4.6.1+dfsg/src/Saxofony.cpp Examining data/stk-4.6.1+dfsg/src/Shakers.cpp Examining data/stk-4.6.1+dfsg/src/Simple.cpp Examining data/stk-4.6.1+dfsg/src/SineWave.cpp Examining data/stk-4.6.1+dfsg/src/SingWave.cpp Examining data/stk-4.6.1+dfsg/src/Sitar.cpp Examining data/stk-4.6.1+dfsg/src/Skini.cpp Examining data/stk-4.6.1+dfsg/src/Socket.cpp Examining data/stk-4.6.1+dfsg/src/Sphere.cpp Examining data/stk-4.6.1+dfsg/src/StifKarp.cpp Examining data/stk-4.6.1+dfsg/src/Stk.cpp Examining data/stk-4.6.1+dfsg/src/TapDelay.cpp Examining data/stk-4.6.1+dfsg/src/TcpClient.cpp Examining data/stk-4.6.1+dfsg/src/TcpServer.cpp Examining data/stk-4.6.1+dfsg/src/Thread.cpp Examining data/stk-4.6.1+dfsg/src/TubeBell.cpp Examining data/stk-4.6.1+dfsg/src/Twang.cpp Examining data/stk-4.6.1+dfsg/src/TwoPole.cpp Examining data/stk-4.6.1+dfsg/src/TwoZero.cpp Examining data/stk-4.6.1+dfsg/src/UdpSocket.cpp Examining data/stk-4.6.1+dfsg/src/VoicForm.cpp Examining data/stk-4.6.1+dfsg/src/Voicer.cpp Examining data/stk-4.6.1+dfsg/src/Whistle.cpp Examining data/stk-4.6.1+dfsg/src/Wurley.cpp Examining data/stk-4.6.1+dfsg/src/include/FunctionDiscoveryKeys_devpkey.h Examining data/stk-4.6.1+dfsg/src/include/dsound.h Examining data/stk-4.6.1+dfsg/src/include/ginclude.h Examining data/stk-4.6.1+dfsg/src/include/soundcard.h FINAL RESULTS: data/stk-4.6.1+dfsg/projects/demo/utilities.cpp:233:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(fileName,args[++i]); data/stk-4.6.1+dfsg/projects/demo/utilities.cpp:280:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(fileName,args[i]); data/stk-4.6.1+dfsg/projects/demo/utilities.cpp:290:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(fileName,args[i]); data/stk-4.6.1+dfsg/projects/demo/utilities.cpp:300:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(fileName,args[i]); data/stk-4.6.1+dfsg/projects/demo/utilities.cpp:310:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(fileName,args[i]); data/stk-4.6.1+dfsg/projects/eguitar/utilities.cpp:105:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(fileName,args[++i]); data/stk-4.6.1+dfsg/projects/eguitar/utilities.cpp:152:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(fileName,args[i]); data/stk-4.6.1+dfsg/projects/eguitar/utilities.cpp:162:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(fileName,args[i]); data/stk-4.6.1+dfsg/projects/eguitar/utilities.cpp:172:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(fileName,args[i]); data/stk-4.6.1+dfsg/projects/eguitar/utilities.cpp:182:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(fileName,args[i]); data/stk-4.6.1+dfsg/src/RtAudio.cpp:7470:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf( name, "hw:%s,%d", cardname, subdevice ); data/stk-4.6.1+dfsg/projects/examples/grains.cpp:64:26: [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. grani.setRandomFactor( random ); data/stk-4.6.1+dfsg/src/Mutex.cpp:28:3: [3] (misc) InitializeCriticalSection: Exceptions can be thrown in low-memory situations. Use InitializeCriticalSectionAndSpinCount instead. InitializeCriticalSection(&mutex_); data/stk-4.6.1+dfsg/src/Mutex.cpp:60:3: [3] (misc) EnterCriticalSection: On some versions of Windows, exceptions can be thrown in low-memory situations. Use InitializeCriticalSectionAndSpinCount instead. EnterCriticalSection(&mutex_); data/stk-4.6.1+dfsg/src/Noise.cpp:27: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( (unsigned int) time( NULL ) ); data/stk-4.6.1+dfsg/src/Noise.cpp:29: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( seed ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:60:31: [3] (misc) InitializeCriticalSection: Exceptions can be thrown in low-memory situations. Use InitializeCriticalSectionAndSpinCount instead. #define MUTEX_INITIALIZE(A) InitializeCriticalSection(A) data/stk-4.6.1+dfsg/src/RtAudio.cpp:62:31: [3] (misc) EnterCriticalSection: On some versions of Windows, exceptions can be thrown in low-memory situations. Use InitializeCriticalSectionAndSpinCount instead. #define MUTEX_LOCK(A) EnterCriticalSection(A) data/stk-4.6.1+dfsg/src/RtAudio.cpp:4963:21: [3] (misc) LoadLibrary: Ensure that the full path to the library is specified, or current directory may be used (CWE-829, CWE-20). Use registry entry or GetWindowsDirectory to find library path, if you aren't already. HMODULE AvrtDll = LoadLibrary( (LPCTSTR) "AVRT.dll" ); data/stk-4.6.1+dfsg/src/RtMidi.cpp:2475:7: [3] (misc) EnterCriticalSection: On some versions of Windows, exceptions can be thrown in low-memory situations. Use InitializeCriticalSectionAndSpinCount instead. EnterCriticalSection( &(apiData->_mutex) ); data/stk-4.6.1+dfsg/src/RtMidi.cpp:2629:5: [3] (misc) EnterCriticalSection: On some versions of Windows, exceptions can be thrown in low-memory situations. Use InitializeCriticalSectionAndSpinCount instead. EnterCriticalSection( &(data->_mutex) ); data/stk-4.6.1+dfsg/include/FileRead.h:67:8: [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). void open( std::string fileName, bool typeRaw = false, unsigned int nChannels = 1, data/stk-4.6.1+dfsg/include/FileWrite.h:59:8: [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). void open( std::string fileName, unsigned int nChannels = 1, data/stk-4.6.1+dfsg/include/RtAudio.h:683:12: [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 c3[3]; data/stk-4.6.1+dfsg/include/RtAudio.h:780: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 *userBuffer[2]; // Playback and record, respectively. data/stk-4.6.1+dfsg/include/SKINItbl.h:8:20: [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. struct SkiniSpec { char messageString[32]; data/stk-4.6.1+dfsg/projects/demo/Md2Skini.cpp:191: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 = fopen( fileName.c_str(), "wb" ); data/stk-4.6.1+dfsg/projects/demo/Md2Skini.cpp:196:31: [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). port = (unsigned int) atoi( argv[i] ); data/stk-4.6.1+dfsg/projects/demo/utilities.cpp:46:1: [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 insts[NUM_INSTS][10] = { "Clarinet", "BlowHole", "Saxofony", "Flute", "Brass", data/stk-4.6.1+dfsg/projects/demo/utilities.cpp:154: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 flags[2][50] = {""}; data/stk-4.6.1+dfsg/projects/demo/utilities.cpp:176: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). Stk::setSampleRate( atoi(args[i+1]) ); data/stk-4.6.1+dfsg/projects/demo/utilities.cpp:212: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). nInstruments = atoi( args[i+1] ); data/stk-4.6.1+dfsg/projects/demo/utilities.cpp:226: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 fileName[256]; data/stk-4.6.1+dfsg/projects/demo/utilities.cpp:251: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). int port = atoi(args[++i]); data/stk-4.6.1+dfsg/projects/demo/utilities.cpp:282:14: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. else strcpy(fileName,"testwav"); data/stk-4.6.1+dfsg/projects/demo/utilities.cpp:292:14: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. else strcpy(fileName,"testsnd"); data/stk-4.6.1+dfsg/projects/demo/utilities.cpp:302:14: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. else strcpy(fileName,"testmat"); data/stk-4.6.1+dfsg/projects/demo/utilities.cpp:312:14: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. else strcpy(fileName,"testaif"); data/stk-4.6.1+dfsg/projects/effects/effects.cpp:237:55: [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 ( i+1 < argc && argv[i+1][0] != '-' ) port = atoi(argv[++i]); data/stk-4.6.1+dfsg/projects/effects/effects.cpp:243: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). Stk::setSampleRate( atoi(argv[++i]) ); data/stk-4.6.1+dfsg/projects/eguitar/utilities.cpp:46: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 flags[2][50] = {""}; data/stk-4.6.1+dfsg/projects/eguitar/utilities.cpp:68: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). Stk::setSampleRate( atoi(args[i+1]) ); data/stk-4.6.1+dfsg/projects/eguitar/utilities.cpp:98: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 fileName[256]; data/stk-4.6.1+dfsg/projects/eguitar/utilities.cpp:123: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). int port = atoi(args[++i]); data/stk-4.6.1+dfsg/projects/eguitar/utilities.cpp:154:14: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. else strcpy(fileName,"testwav"); data/stk-4.6.1+dfsg/projects/eguitar/utilities.cpp:164:14: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. else strcpy(fileName,"testsnd"); data/stk-4.6.1+dfsg/projects/eguitar/utilities.cpp:174:14: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. else strcpy(fileName,"testmat"); data/stk-4.6.1+dfsg/projects/eguitar/utilities.cpp:184:14: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. else strcpy(fileName,"testaif"); data/stk-4.6.1+dfsg/projects/examples/duplex.cpp:57:3: [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( outputBuffer, inputBuffer, *bytes ); data/stk-4.6.1+dfsg/projects/examples/duplex.cpp:74: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). channels = (unsigned int) atoi(argv[1]); data/stk-4.6.1+dfsg/projects/examples/duplex.cpp:75:23: [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). fs = (unsigned int) atoi(argv[2]); data/stk-4.6.1+dfsg/projects/examples/duplex.cpp:77:30: [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). iDevice = (unsigned int) atoi(argv[3]); data/stk-4.6.1+dfsg/projects/examples/duplex.cpp:79:30: [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). oDevice = (unsigned int) atoi(argv[4]); data/stk-4.6.1+dfsg/projects/examples/duplex.cpp:81:30: [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). iOffset = (unsigned int) atoi(argv[5]); data/stk-4.6.1+dfsg/projects/examples/duplex.cpp:83:30: [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). oOffset = (unsigned int) atoi(argv[6]); data/stk-4.6.1+dfsg/projects/examples/grains.cpp:51:35: [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). unsigned int N = (unsigned int) atoi(argv[2]); data/stk-4.6.1+dfsg/projects/examples/grains.cpp:52:42: [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). unsigned int duration = (unsigned int) atoi(argv[3]); data/stk-4.6.1+dfsg/projects/examples/grains.cpp:53:38: [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). unsigned int ramp = (unsigned int) atoi(argv[4]); data/stk-4.6.1+dfsg/projects/examples/grains.cpp:54:40: [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). unsigned int offset = (unsigned int) atoi(argv[5]); data/stk-4.6.1+dfsg/projects/examples/grains.cpp:55:39: [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). unsigned int delay = (unsigned int) atoi(argv[6]); data/stk-4.6.1+dfsg/projects/examples/grains.cpp:56:41: [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). unsigned int stretch = (unsigned int) atoi(argv[7]); data/stk-4.6.1+dfsg/projects/examples/inetIn.cpp:53: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 channels = (int) atoi( argv[1] ); data/stk-4.6.1+dfsg/projects/examples/inetOut.cpp:48: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. input.openFile( (char *)argv[1] ); data/stk-4.6.1+dfsg/projects/examples/inetOut.cpp:69:47: [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. output.connect( 2006, Socket::PROTO_TCP, (char *)argv[2], channels, Stk::STK_SINT16 ); data/stk-4.6.1+dfsg/projects/examples/playsmf.cpp:46: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). if ( argc == 4 ) port = atoi( argv[3] ); data/stk-4.6.1+dfsg/projects/examples/playsmf.cpp:84:41: [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). unsigned int track = (unsigned int) atoi( argv[2] ); data/stk-4.6.1+dfsg/projects/examples/record.cpp:49:42: [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). unsigned int channels = (unsigned int) atoi( argv[1] ); data/stk-4.6.1+dfsg/projects/examples/sine.cpp:40: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 channels = (int) atoi( argv[1] ); data/stk-4.6.1+dfsg/projects/ragamatic/Tabla.cpp:33:8: [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 char tablaWaves[TABLA_NUMWAVES][16] = data/stk-4.6.1+dfsg/projects/ragamatic/VoicDrum.cpp:32:1: [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 voiceNames[VOICE_NUMWAVES][11] = data/stk-4.6.1+dfsg/projects/ragamatic/ragamat.cpp:277:55: [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 ( i+1 < argc && argv[i+1][0] != '-' ) port = atoi(argv[++i]); data/stk-4.6.1+dfsg/projects/ragamatic/ragamat.cpp:283: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). Stk::setSampleRate( atoi(argv[++i]) ); data/stk-4.6.1+dfsg/rawwaves/makewavs.c:26:8: [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). fd = fopen("halfwave.raw","wb"); data/stk-4.6.1+dfsg/rawwaves/makewavs.c:34:8: [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). fd = fopen("sinewave.raw","wb"); data/stk-4.6.1+dfsg/rawwaves/makewavs.c:40:8: [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). fd = fopen("sineblnk.raw","wb"); data/stk-4.6.1+dfsg/rawwaves/makewavs.c:48:8: [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). fd = fopen("fwavblnk.raw","wb"); data/stk-4.6.1+dfsg/rawwaves/makewavs.c:54:8: [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). fd = fopen("snglpeak.raw","wb"); data/stk-4.6.1+dfsg/rawwaves/makewavs.c:64:8: [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). fd = fopen("twopeaks.raw","wb"); data/stk-4.6.1+dfsg/rawwaves/makewavs.c:71:8: [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). fd = fopen("peksblnk.raw","wb"); data/stk-4.6.1+dfsg/rawwaves/makewavs.c:79:8: [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). fd = fopen("ppksblnk.raw","wb"); data/stk-4.6.1+dfsg/rawwaves/makewavs.c:86:8: [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). fd = fopen("impuls10.raw","wb"); data/stk-4.6.1+dfsg/rawwaves/makewavs.c:96:8: [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). fd = fopen("impuls20.raw","wb"); data/stk-4.6.1+dfsg/rawwaves/makewavs.c:106:8: [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). fd = fopen("impuls40.raw","wb"); data/stk-4.6.1+dfsg/rawwaves/sine.c:17:8: [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). fd = fopen("sinewave.raw","wb"); data/stk-4.6.1+dfsg/src/Drummer.cpp:24: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. unsigned char genMIDIMap[128] = data/stk-4.6.1+dfsg/src/Drummer.cpp:43:1: [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 waveNames[DRUM_NUMWAVES][16] = data/stk-4.6.1+dfsg/src/FileLoop.cpp:50:9: [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( fileName, raw ); data/stk-4.6.1+dfsg/src/FileRead.cpp:52:3: [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). open( fileName, typeRaw, nChannels, format, rate ); data/stk-4.6.1+dfsg/src/FileRead.cpp:78: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). void FileRead :: open( std::string fileName, bool typeRaw, unsigned int nChannels, data/stk-4.6.1+dfsg/src/FileRead.cpp:85: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). fd_ = fopen( fileName.c_str(), "rb" ); data/stk-4.6.1+dfsg/src/FileRead.cpp:96: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 header[12]; data/stk-4.6.1+dfsg/src/FileRead.cpp:180: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 id[4]; data/stk-4.6.1+dfsg/src/FileRead.cpp:381: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 id[4]; data/stk-4.6.1+dfsg/src/FileRead.cpp:427:12: [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 srate[10]; data/stk-4.6.1+dfsg/src/FileRead.cpp:544: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 head[5]; data/stk-4.6.1+dfsg/src/FileRead.cpp:556: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 mi[2]; data/stk-4.6.1+dfsg/src/FileRead.cpp:609: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 name[3]; name[2] = '\0'; data/stk-4.6.1+dfsg/src/FileWrite.cpp:42: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 riff[4]; // "RIFF" data/stk-4.6.1+dfsg/src/FileWrite.cpp:44: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 wave[4]; // "WAVE" data/stk-4.6.1+dfsg/src/FileWrite.cpp:45: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 fmt[4]; // "fmt " data/stk-4.6.1+dfsg/src/FileWrite.cpp:56: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 subformat[16]; // format code and GUID data/stk-4.6.1+dfsg/src/FileWrite.cpp:57: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 fact[4]; // "fact" data/stk-4.6.1+dfsg/src/FileWrite.cpp:64: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 pref[4]; data/stk-4.6.1+dfsg/src/FileWrite.cpp:70: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 comment[16]; data/stk-4.6.1+dfsg/src/FileWrite.cpp:76: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 form[4]; // "FORM" data/stk-4.6.1+dfsg/src/FileWrite.cpp:78: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 aiff[4]; // "AIFF" or "AIFC" data/stk-4.6.1+dfsg/src/FileWrite.cpp:79: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 comm[4]; // "COMM" data/stk-4.6.1+dfsg/src/FileWrite.cpp:84:12: [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 srate[10]; // IEEE 754 floating point format data/stk-4.6.1+dfsg/src/FileWrite.cpp:88: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 ssnd[4]; // "SSND" data/stk-4.6.1+dfsg/src/FileWrite.cpp:96: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 heading[124]; // Header text field data/stk-4.6.1+dfsg/src/FileWrite.cpp:111:9: [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). this->open( fileName, nChannels, type, format ); data/stk-4.6.1+dfsg/src/FileWrite.cpp:143: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). void FileWrite :: open( std::string fileName, unsigned int nChannels, FileWrite::FILE_TYPE type, Stk::StkFormat format ) data/stk-4.6.1+dfsg/src/FileWrite.cpp:194: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). fd_ = fopen( fileName.c_str(), "wb" ); data/stk-4.6.1+dfsg/src/FileWrite.cpp:219: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). fd_ = fopen( fileName.c_str(), "wb" ); data/stk-4.6.1+dfsg/src/FileWrite.cpp:278: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 data[4] = {'d','a','t','a'}; data/stk-4.6.1+dfsg/src/FileWrite.cpp:347: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). fd_ = fopen( fileName.c_str(), "wb" ); data/stk-4.6.1+dfsg/src/FileWrite.cpp:415: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). fd_ = fopen( fileName.c_str(), "wb" ); data/stk-4.6.1+dfsg/src/FileWrite.cpp:460:3: [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( hdr.srate, &i, sizeof(SINT16) ); data/stk-4.6.1+dfsg/src/FileWrite.cpp:470:3: [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( hdr.srate + 2, &rate, sizeof(rate) ); data/stk-4.6.1+dfsg/src/FileWrite.cpp:492: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 type[4] = {'f','l','3','2'}; data/stk-4.6.1+dfsg/src/FileWrite.cpp:493: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 zeroes[2] = { 0, 0 }; data/stk-4.6.1+dfsg/src/FileWrite.cpp:498: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 type[4] = {'f','l','6','4'}; data/stk-4.6.1+dfsg/src/FileWrite.cpp:499: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 zeroes[2] = { 0, 0 }; data/stk-4.6.1+dfsg/src/FileWrite.cpp:559: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). fd_ = fopen( fileName.c_str(), "w+b" ); data/stk-4.6.1+dfsg/src/FileWrite.cpp:572:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy( hdr.heading,"MATLAB 5.0 MAT-file, Generated using the Synthesis ToolKit in C++ (STK). By Perry R. Cook and Gary P. Scavone." ); data/stk-4.6.1+dfsg/src/FileWvIn.cpp:81:9: [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( fileName, raw ); data/stk-4.6.1+dfsg/src/FileWvOut.cpp:72:9: [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( fileName, nChannels, type, format ); data/stk-4.6.1+dfsg/src/InetWvIn.cpp:91: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. buffer_ = (char *) new char[ bufferBytes ]; data/stk-4.6.1+dfsg/src/InetWvOut.cpp:90: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. buffer_ = (char *) new char[ bufferBytes ]; data/stk-4.6.1+dfsg/src/Messager.cpp:326: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 buffer[bufferSize]; data/stk-4.6.1+dfsg/src/MidiFileIn.cpp:27:9: [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( fileName.c_str(), std::ios::in | std::ios::binary ); data/stk-4.6.1+dfsg/src/MidiFileIn.cpp:34: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 chunkType[4]; data/stk-4.6.1+dfsg/src/MidiFileIn.cpp:35: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 buffer[4]; data/stk-4.6.1+dfsg/src/RtAudio.cpp:1734: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( outBufferList->mBuffers[handle->iStream[0]].mData, data/stk-4.6.1+dfsg/src/RtAudio.cpp:1749:11: [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( outBufferList->mBuffers[handle->iStream[0]+i].mData, data/stk-4.6.1+dfsg/src/RtAudio.cpp:1827: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( stream_.userBuffer[1], data/stk-4.6.1+dfsg/src/RtAudio.cpp:1839:11: [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( (void *)&outBuffer[i*stream_.bufferSize], data/stk-4.6.1+dfsg/src/RtAudio.cpp:2045:15: [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. port = (char *) ports[ nChannels ]; data/stk-4.6.1+dfsg/src/RtAudio.cpp:2084:15: [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. port = (char *) ports[ nPorts ]; data/stk-4.6.1+dfsg/src/RtAudio.cpp:2240:15: [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. port = (char *) ports[ nPorts ]; data/stk-4.6.1+dfsg/src/RtAudio.cpp:2408: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 label[64]; data/stk-4.6.1+dfsg/src/RtAudio.cpp:2705: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( jackbuffer, &stream_.deviceBuffer[i*bufferBytes], bufferBytes ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:2711: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( jackbuffer, &stream_.userBuffer[0][i*bufferBytes], bufferBytes ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:2727: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( &stream_.deviceBuffer[i*bufferBytes], jackbuffer, bufferBytes ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:2734: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( &stream_.userBuffer[1][i*bufferBytes], jackbuffer, bufferBytes ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:2851: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 driverName[32]; data/stk-4.6.1+dfsg/src/RtAudio.cpp:2971: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 driverName[32]; data/stk-4.6.1+dfsg/src/RtAudio.cpp:3560:11: [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( handle->bufferInfos[i].buffers[bufferIndex], data/stk-4.6.1+dfsg/src/RtAudio.cpp:3574:11: [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( handle->bufferInfos[i].buffers[bufferIndex], data/stk-4.6.1+dfsg/src/RtAudio.cpp:3596:11: [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( &stream_.deviceBuffer[j++*bufferBytes], data/stk-4.6.1+dfsg/src/RtAudio.cpp:3611:11: [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( &stream_.userBuffer[1][bufferBytes*j++], data/stk-4.6.1+dfsg/src/RtAudio.cpp:3862: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( &( ( char* ) buffer_ )[inIndex_], buffer, fromInSize * sizeof( char ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3863: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( buffer_, &( ( char* ) buffer )[fromInSize], fromZeroSize * sizeof( char ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3866: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( &( ( short* ) buffer_ )[inIndex_], buffer, fromInSize * sizeof( short ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3867: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( buffer_, &( ( short* ) buffer )[fromInSize], fromZeroSize * sizeof( short ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3870: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( &( ( S24* ) buffer_ )[inIndex_], buffer, fromInSize * sizeof( S24 ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3871: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( buffer_, &( ( S24* ) buffer )[fromInSize], fromZeroSize * sizeof( S24 ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3874: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( &( ( int* ) buffer_ )[inIndex_], buffer, fromInSize * sizeof( int ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3875: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( buffer_, &( ( int* ) buffer )[fromInSize], fromZeroSize * sizeof( int ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3878: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( &( ( float* ) buffer_ )[inIndex_], buffer, fromInSize * sizeof( float ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3879: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( buffer_, &( ( float* ) buffer )[fromInSize], fromZeroSize * sizeof( float ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3882: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( &( ( double* ) buffer_ )[inIndex_], buffer, fromInSize * sizeof( double ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3883: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( buffer_, &( ( double* ) buffer )[fromInSize], fromZeroSize * sizeof( double ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3924: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( buffer, &( ( char* ) buffer_ )[outIndex_], fromOutSize * sizeof( char ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3925: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( &( ( char* ) buffer )[fromOutSize], buffer_, fromZeroSize * sizeof( char ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3928: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( buffer, &( ( short* ) buffer_ )[outIndex_], fromOutSize * sizeof( short ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3929: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( &( ( short* ) buffer )[fromOutSize], buffer_, fromZeroSize * sizeof( short ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3932: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( buffer, &( ( S24* ) buffer_ )[outIndex_], fromOutSize * sizeof( S24 ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3933: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( &( ( S24* ) buffer )[fromOutSize], buffer_, fromZeroSize * sizeof( S24 ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3936: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( buffer, &( ( int* ) buffer_ )[outIndex_], fromOutSize * sizeof( int ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3937: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( &( ( int* ) buffer )[fromOutSize], buffer_, fromZeroSize * sizeof( int ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3940: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( buffer, &( ( float* ) buffer_ )[outIndex_], fromOutSize * sizeof( float ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3941: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( &( ( float* ) buffer )[fromOutSize], buffer_, fromZeroSize * sizeof( float ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3944: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( buffer, &( ( double* ) buffer_ )[outIndex_], fromOutSize * sizeof( double ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:3945: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( &( ( double* ) buffer )[fromOutSize], buffer_, fromZeroSize * sizeof( double ) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:4062: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( outBuffer, inBuffer, inputBufferSize ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:4078: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( rInByteBuffer, inBuffer, inputBufferSize ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:4130: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( outBuffer, rOutByteBuffer, rBytes ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:5222: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( stream_.userBuffer[INPUT], data/stk-4.6.1+dfsg/src/RtAudio.cpp:5308:11: [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( stream_.deviceBuffer, data/stk-4.6.1+dfsg/src/RtAudio.cpp:6796:5: [2] (buffer) CopyMemory: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. CopyMemory( buffer1, buffer, bufferSize1 ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:6797:28: [2] (buffer) CopyMemory: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. if ( buffer2 != NULL ) CopyMemory( buffer2, buffer+bufferSize1, bufferSize2 ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:6925:7: [2] (buffer) CopyMemory: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. CopyMemory( buffer, buffer1, bufferSize1 ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:6926:30: [2] (buffer) CopyMemory: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. if ( buffer2 != NULL ) CopyMemory( buffer+bufferSize1, buffer2, bufferSize2 ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:7148: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 name[64]; data/stk-4.6.1+dfsg/src/RtAudio.cpp:7155: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( name, "hw:%d", card ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:7199: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 name[64]; data/stk-4.6.1+dfsg/src/RtAudio.cpp:7207: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( name, "hw:%d", card ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:7227:9: [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( name, "hw:%d,%d", card, subdevice ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:7241:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy( name, "default" ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:7506: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 name[64]; data/stk-4.6.1+dfsg/src/RtAudio.cpp:7516:7: [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( name, "hw:%d", card ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:7529:11: [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( name, "hw:%d,%d", card, subdevice ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:7542:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy( name, "default" ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:8998:17: [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 mixerfd = open( "/dev/mixer", O_RDWR, 0 ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:9022:17: [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 mixerfd = open( "/dev/mixer", O_RDWR, 0 ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:9142:17: [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 mixerfd = open( "/dev/mixer", O_RDWR, 0 ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:9223:8: [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). fd = open( ainfo.devnode, flags, 0 ); data/stk-4.6.1+dfsg/src/RtMidi.cpp:1188: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 name[128]; data/stk-4.6.1+dfsg/src/RtMidi.cpp:1263: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 name[128]; data/stk-4.6.1+dfsg/src/RtMidi.cpp:2370:17: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). int wlength = MultiByteToWideChar( CP_ACP, 0, str, -1, NULL, 0 ); data/stk-4.6.1+dfsg/src/RtMidi.cpp:2375:5: [2] (buffer) MultiByteToWideChar: Requires maximum length in CHARACTERS, not bytes (CWE-120). MultiByteToWideChar( CP_ACP, 0, str, -1, &wstrtemp[0], wlength ); data/stk-4.6.1+dfsg/src/RtWvIn.cpp:178: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( &frames[framesRead * nChannels], samples, bytes ); data/stk-4.6.1+dfsg/src/RtWvOut.cpp:199: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( samples, &(*ins)[framesWritten * nChannels], bytes ); data/stk-4.6.1+dfsg/src/Skini.cpp:49:9: [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( fileName.c_str() ); data/stk-4.6.1+dfsg/src/Skini.cpp:152:21: [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). message.channel = atoi( tokens[2].c_str() ); data/stk-4.6.1+dfsg/src/Skini.cpp:171:35: [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). message.intValues[iValue] = atoi( tokens[iToken].c_str() ); //rgh: use new index data/stk-4.6.1+dfsg/src/TcpClient.cpp:81:3: [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( (void *)&server_address.sin_addr, hostp->h_addr, hostp->h_length ); data/stk-4.6.1+dfsg/src/UdpSocket.cpp:86:3: [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((void *)&address->sin_addr, hostp->h_addr, hostp->h_length); data/stk-4.6.1+dfsg/src/include/soundcard.h:428: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 data[1]; /* The waveform data starts here */ data/stk-4.6.1+dfsg/src/include/soundcard.h:696: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 name[30]; data/stk-4.6.1+dfsg/src/include/soundcard.h:724: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 name[32]; data/stk-4.6.1+dfsg/src/include/soundcard.h:729: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 name[30]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1090: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 id[16]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1091: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 name[32]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1234:23: [2] (buffer) bcopy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. _pm_info.device=dev, bcopy( pgm, _pm_info.data.data8, 128), \ data/stk-4.6.1+dfsg/src/include/soundcard.h:1477: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. typedef char oss_longname_t[OSS_LONGNAME_SIZE]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1478: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. typedef char oss_label_t[OSS_LABEL_SIZE]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1479: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. typedef char oss_devnode_t[OSS_DEVNODE_SIZE]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1624: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 product[32]; /* For example OSS/Free, OSS/Linux or data/stk-4.6.1+dfsg/src/include/soundcard.h:1626: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 version[32]; /* For example 4.0a */ data/stk-4.6.1+dfsg/src/include/soundcard.h:1628: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 options[128]; /* Reserved */ data/stk-4.6.1+dfsg/src/include/soundcard.h:1685: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 id[16]; /* Mnemonic ID (mainly for internal use) */ data/stk-4.6.1+dfsg/src/include/soundcard.h:1692: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 data[64]; /* Misc data (entry type dependent) */ data/stk-4.6.1+dfsg/src/include/soundcard.h:1693:12: [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 enum_present[32]; /* Mask of allowed enum values */ data/stk-4.6.1+dfsg/src/include/soundcard.h:1709: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 extname[32]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1716: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 id[16]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1717: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 name[48]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1738: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 strings[3000]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1754: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 name[64]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1761: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 cmd[64]; /* Command using the device (if known) */ data/stk-4.6.1+dfsg/src/include/soundcard.h:1776: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 handle[32]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1791: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 id[16]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1792: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 name[32]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1796: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 handle[32]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1816: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 name[64]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1819: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 cmd[64]; /* Command using the device (if known) */ data/stk-4.6.1+dfsg/src/include/soundcard.h:1838: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 handle[32]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1848: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 shortname[16]; data/stk-4.6.1+dfsg/src/include/soundcard.h:1849: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 longname[128]; data/stk-4.6.1+dfsg/include/FileRead.h:106:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read( StkFrames& buffer, unsigned long startFrame = 0, bool doNormalize = true ); data/stk-4.6.1+dfsg/src/FileLoop.cpp:69:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). file_.read( data_, 0, int2floatscaling_ ); data/stk-4.6.1+dfsg/src/FileLoop.cpp:180:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). file_.read( data_, chunkPointer_, int2floatscaling_ ); data/stk-4.6.1+dfsg/src/FileRead.cpp:732:18: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void FileRead :: read( StkFrames& buffer, unsigned long startFrame, bool doNormalize ) data/stk-4.6.1+dfsg/src/FileWrite.cpp:573:19: [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). for ( size_t i =strlen(hdr.heading); i<124; i++ ) hdr.heading[i] = ' '; data/stk-4.6.1+dfsg/src/FileWvIn.cpp:100:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). file_.read( data_, 0, int2floatscaling_ ); data/stk-4.6.1+dfsg/src/FileWvIn.cpp:211:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). file_.read( data_, chunkPointer_, int2floatscaling_ ); data/stk-4.6.1+dfsg/src/Granulate.cpp:91:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). file.read( data_ ); data/stk-4.6.1+dfsg/src/MidiFileIn.cpp:37:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( !file_.read( chunkType, 4 ) ) goto error; data/stk-4.6.1+dfsg/src/MidiFileIn.cpp:38:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( !file_.read( buffer, 4 ) ) goto error; data/stk-4.6.1+dfsg/src/MidiFileIn.cpp:50:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( !file_.read( buffer, 2 ) ) goto error; data/stk-4.6.1+dfsg/src/MidiFileIn.cpp:62:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( !file_.read( buffer, 2 ) ) goto error; data/stk-4.6.1+dfsg/src/MidiFileIn.cpp:73:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( !file_.read( buffer, 2 ) ) goto error; data/stk-4.6.1+dfsg/src/MidiFileIn.cpp:99:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( !file_.read( chunkType, 4 ) ) goto error; data/stk-4.6.1+dfsg/src/MidiFileIn.cpp:101:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( !file_.read( buffer, 4 ) ) goto error; data/stk-4.6.1+dfsg/src/MidiFileIn.cpp:226:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( !file_.read( (char *)&c, 1 ) ) goto error; data/stk-4.6.1+dfsg/src/MidiFileIn.cpp:233:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( !file_.read( (char *)&c, 1 ) ) goto error; data/stk-4.6.1+dfsg/src/MidiFileIn.cpp:274:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( !file_.read( (char *)&c, 1 ) ) goto error; data/stk-4.6.1+dfsg/src/MidiFileIn.cpp:340:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( !file_.read( &c, 1 ) ) return false; data/stk-4.6.1+dfsg/src/MidiFileIn.cpp:345:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ( !file_.read( &c, 1 ) ) return false; data/stk-4.6.1+dfsg/src/RtAudio.cpp:706: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). info.name.append( (const char *)mname, strlen(mname) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:728:41: [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). info.name.append( (const char *)name, strlen(name) ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:1177:7: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep( 5000 ); data/stk-4.6.1+dfsg/src/RtAudio.cpp:9879:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result = read( handle->id[1], buffer, samples * formatBytes(format) ); data/stk-4.6.1+dfsg/src/RtMidi.cpp:1551:21: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int res = read( poll_fds[0].fd, &dummy, sizeof(dummy) ); data/stk-4.6.1+dfsg/src/RtWvIn.cpp:28:5: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int read( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames, data/stk-4.6.1+dfsg/src/RtWvIn.cpp:87:90: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). adc_.openStream( NULL, ¶meters, format, (unsigned int)Stk::sampleRate(), &size, &read, (void *)this ); data/stk-4.6.1+dfsg/src/Stk.cpp:191:3: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep( (unsigned long) (milliseconds * 1000.0) ); ANALYSIS SUMMARY: Hits = 268 Lines analyzed = 54946 in approximately 1.41 seconds (39040 lines/second) Physical Source Lines of Code (SLOC) = 34880 Hits@level = [0] 147 [1] 28 [2] 219 [3] 10 [4] 11 [5] 0 Hits@level+ = [0+] 415 [1+] 268 [2+] 240 [3+] 21 [4+] 11 [5+] 0 Hits/KSLOC@level+ = [0+] 11.8979 [1+] 7.68349 [2+] 6.88073 [3+] 0.602064 [4+] 0.315367 [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.