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/enki-aseba-1.6.99/tests/testGeometry.cpp
Examining data/enki-aseba-1.6.99/python/enki.cpp
Examining data/enki-aseba-1.6.99/enki/Random.h
Examining data/enki-aseba-1.6.99/enki/interactions/Microphone.h
Examining data/enki-aseba-1.6.99/enki/interactions/IRSensor.cpp
Examining data/enki-aseba-1.6.99/enki/interactions/ActiveSoundSource.h
Examining data/enki-aseba-1.6.99/enki/interactions/IRSensor.h
Examining data/enki-aseba-1.6.99/enki/interactions/ActiveSoundSource.cpp
Examining data/enki-aseba-1.6.99/enki/interactions/Microphone.cpp
Examining data/enki-aseba-1.6.99/enki/interactions/CircularCam.h
Examining data/enki-aseba-1.6.99/enki/interactions/Bluetooth.h
Examining data/enki-aseba-1.6.99/enki/interactions/GroundSensor.h
Examining data/enki-aseba-1.6.99/enki/interactions/Bluetooth.cpp
Examining data/enki-aseba-1.6.99/enki/interactions/GroundSensor.cpp
Examining data/enki-aseba-1.6.99/enki/interactions/CircularCam.cpp
Examining data/enki-aseba-1.6.99/enki/Interaction.h
Examining data/enki-aseba-1.6.99/enki/PhysicalEngine.h
Examining data/enki-aseba-1.6.99/enki/PhysicalEngine.cpp
Examining data/enki-aseba-1.6.99/enki/BluetoothBase.cpp
Examining data/enki-aseba-1.6.99/enki/Geometry.h
Examining data/enki-aseba-1.6.99/enki/robots/marxbot/Marxbot.h
Examining data/enki-aseba-1.6.99/enki/robots/marxbot/Marxbot.cpp
Examining data/enki-aseba-1.6.99/enki/robots/DifferentialWheeled.h
Examining data/enki-aseba-1.6.99/enki/robots/khepera/Khepera.cpp
Examining data/enki-aseba-1.6.99/enki/robots/khepera/Khepera.h
Examining data/enki-aseba-1.6.99/enki/robots/s-bot/Sbot.h
Examining data/enki-aseba-1.6.99/enki/robots/s-bot/Sbot.cpp
Examining data/enki-aseba-1.6.99/enki/robots/s-bot/SbotObject.h
Examining data/enki-aseba-1.6.99/enki/robots/s-bot/SbotObject.cpp
Examining data/enki-aseba-1.6.99/enki/robots/e-puck/EPuck.cpp
Examining data/enki-aseba-1.6.99/enki/robots/e-puck/EPuck.h
Examining data/enki-aseba-1.6.99/enki/robots/DifferentialWheeled.cpp
Examining data/enki-aseba-1.6.99/enki/robots/thymio2/Thymio2.h
Examining data/enki-aseba-1.6.99/enki/robots/thymio2/Thymio2.cpp
Examining data/enki-aseba-1.6.99/enki/Types.h
Examining data/enki-aseba-1.6.99/enki/BluetoothBase.h
Examining data/enki-aseba-1.6.99/enki/Geometry.cpp
Examining data/enki-aseba-1.6.99/enki/Types.cpp
Examining data/enki-aseba-1.6.99/examples/minimal/enkiMinimal.cpp
Examining data/enki-aseba-1.6.99/examples/playground/Playground.cpp
Examining data/enki-aseba-1.6.99/viewer/objects/Objects.h
Examining data/enki-aseba-1.6.99/viewer/objects/Thymio2Body.cpp
Examining data/enki-aseba-1.6.99/viewer/objects/EPuckRing.cpp
Examining data/enki-aseba-1.6.99/viewer/objects/EPuckWheelLeft.cpp
Examining data/enki-aseba-1.6.99/viewer/objects/EPuckBody.cpp
Examining data/enki-aseba-1.6.99/viewer/objects/EPuckRest.cpp
Examining data/enki-aseba-1.6.99/viewer/objects/MarxbotWheel.cpp
Examining data/enki-aseba-1.6.99/viewer/objects/Thymio2Wheel.cpp
Examining data/enki-aseba-1.6.99/viewer/objects/MarxbotBase.cpp
Examining data/enki-aseba-1.6.99/viewer/objects/EPuckWheelRight.cpp
Examining data/enki-aseba-1.6.99/viewer/MarxbotModel.h
Examining data/enki-aseba-1.6.99/viewer/Thymio2Model.cpp
Examining data/enki-aseba-1.6.99/viewer/Viewer.cpp
Examining data/enki-aseba-1.6.99/viewer/EPuckModel.h
Examining data/enki-aseba-1.6.99/viewer/Thymio2Model.h
Examining data/enki-aseba-1.6.99/viewer/EPuckModel.cpp
Examining data/enki-aseba-1.6.99/viewer/MarxbotModel.cpp
Examining data/enki-aseba-1.6.99/viewer/Viewer.h

FINAL RESULTS:

data/enki-aseba-1.6.99/enki/PhysicalEngine.cpp:52:13:  [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.
	FastRandom random;
data/enki-aseba-1.6.99/enki/PhysicalEngine.cpp:1141:3:  [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.
		random.setSeed(seed);
data/enki-aseba-1.6.99/enki/PhysicalEngine.h:521:20:  [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.
	extern FastRandom random;
data/enki-aseba-1.6.99/enki/interactions/Bluetooth.cpp:322:14:  [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.
					address=random.get()%UINT_MAX;
data/enki-aseba-1.6.99/enki/robots/DifferentialWheeled.cpp:76:30:  [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.
			leftSpeed * (baseFactor + random.getRange(noiseFactor)),
data/enki-aseba-1.6.99/enki/robots/DifferentialWheeled.cpp:80:31:  [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.
			rightSpeed * (baseFactor + random.getRange(noiseFactor)),
data/enki-aseba-1.6.99/enki/robots/e-puck/EPuck.cpp:120:50:  [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.
			bluetooth = new Bluetooth(this,1000,7,100,100,random.get()%UINT_MAX);
data/enki-aseba-1.6.99/enki/robots/marxbot/Marxbot.cpp:53:11:  [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.
			dist = random.getRange(20.0);
data/enki-aseba-1.6.99/enki/robots/marxbot/Marxbot.cpp:55:17:  [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.
		dist *= (0.97+random.getRange(0.06));

ANALYSIS SUMMARY:

Hits = 9
Lines analyzed = 20043 in approximately 2.11 seconds (9505 lines/second)
Physical Source Lines of Code (SLOC) = 15011
Hits@level = [0]   0 [1]   0 [2]   0 [3]   9 [4]   0 [5]   0
Hits@level+ = [0+]   9 [1+]   9 [2+]   9 [3+]   9 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 0.59956 [1+] 0.59956 [2+] 0.59956 [3+] 0.59956 [4+]   0 [5+]   0
Dot directories skipped = 1 (--followdotdir overrides)
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!
See 'Secure Programming HOWTO'
(https://dwheeler.com/secure-programs) for more information.