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/orocos-bfl-0.8.0/tests/ekf_test.hpp Examining data/orocos-bfl-0.8.0/tests/model_test_ginac.hpp Examining data/orocos-bfl-0.8.0/tests/sample_test.hpp Examining data/orocos-bfl-0.8.0/tests/smoother_test.cpp Examining data/orocos-bfl-0.8.0/tests/model_test.hpp Examining data/orocos-bfl-0.8.0/tests/ekf_test.cpp Examining data/orocos-bfl-0.8.0/tests/model_test_ginac.cpp Examining data/orocos-bfl-0.8.0/tests/approxEqual.cpp Examining data/orocos-bfl-0.8.0/tests/complete_filter_test.hpp Examining data/orocos-bfl-0.8.0/tests/pdf_test.hpp Examining data/orocos-bfl-0.8.0/tests/matrixwrapper_test.cpp Examining data/orocos-bfl-0.8.0/tests/matrixwrapper_test.hpp Examining data/orocos-bfl-0.8.0/tests/approxEqual.hpp Examining data/orocos-bfl-0.8.0/tests/smoother_test.hpp Examining data/orocos-bfl-0.8.0/tests/sample_test.cpp Examining data/orocos-bfl-0.8.0/tests/test-runner.cpp Examining data/orocos-bfl-0.8.0/tests/pdf_test.cpp Examining data/orocos-bfl-0.8.0/tests/model_test.cpp Examining data/orocos-bfl-0.8.0/tests/complete_filter_test.cpp Examining data/orocos-bfl-0.8.0/src/model/linearanalyticmeasurementmodel_gaussianuncertainty_implicit.cpp Examining data/orocos-bfl-0.8.0/src/model/analyticmeasurementmodel_gaussianuncertainty.h Examining data/orocos-bfl-0.8.0/src/model/measurementmodel.h Examining data/orocos-bfl-0.8.0/src/model/nonlinearanalyticmeasurementmodel_gaussianuncertainty_ginac.h Examining data/orocos-bfl-0.8.0/src/model/nonlinearanalyticsystemmodel_gaussianuncertainty_ginac.h Examining data/orocos-bfl-0.8.0/src/model/discretesystemmodel.h Examining data/orocos-bfl-0.8.0/src/model/systemmodel.cpp Examining data/orocos-bfl-0.8.0/src/model/nonlinearanalyticsystemmodel_gaussianuncertainty_ginac.cpp Examining data/orocos-bfl-0.8.0/src/model/measurementmodel.cpp Examining data/orocos-bfl-0.8.0/src/model/analyticsystemmodel_gaussianuncertainty.cpp Examining data/orocos-bfl-0.8.0/src/model/systemmodel.h Examining data/orocos-bfl-0.8.0/src/model/nonlinearanalyticmeasurementmodel_gaussianuncertainty_ginac.cpp Examining data/orocos-bfl-0.8.0/src/model/analyticsystemmodel_gaussianuncertainty.h Examining data/orocos-bfl-0.8.0/src/model/linearanalyticsystemmodel_gaussianuncertainty.cpp Examining data/orocos-bfl-0.8.0/src/model/linearanalyticsystemmodel_gaussianuncertainty.h Examining data/orocos-bfl-0.8.0/src/model/analyticmeasurementmodel_gaussianuncertainty.cpp Examining data/orocos-bfl-0.8.0/src/model/linearanalyticmeasurementmodel_gaussianuncertainty.cpp Examining data/orocos-bfl-0.8.0/src/model/discretesystemmodel.cpp Examining data/orocos-bfl-0.8.0/src/model/linearanalyticmeasurementmodel_gaussianuncertainty.h Examining data/orocos-bfl-0.8.0/src/model/linearanalyticmeasurementmodel_gaussianuncertainty_implicit.h Examining data/orocos-bfl-0.8.0/src/sample/sample.h Examining data/orocos-bfl-0.8.0/src/sample/sample.cpp Examining data/orocos-bfl-0.8.0/src/sample/weightedsample.h Examining data/orocos-bfl-0.8.0/src/bindings/rtt/bfl_toolkit.hpp Examining data/orocos-bfl-0.8.0/src/bindings/rtt/bfl_toolkit.cpp Examining data/orocos-bfl-0.8.0/src/bindings/rtt/SampleComposition.hpp Examining data/orocos-bfl-0.8.0/src/wrappers/matrix/matrix_LTI.cpp Examining data/orocos-bfl-0.8.0/src/wrappers/matrix/matrix_BOOST.cpp Examining data/orocos-bfl-0.8.0/src/wrappers/matrix/matrix_NEWMAT.cpp Examining data/orocos-bfl-0.8.0/src/wrappers/matrix/matrix_BOOST.h Examining data/orocos-bfl-0.8.0/src/wrappers/matrix/vector_wrapper.h Examining data/orocos-bfl-0.8.0/src/wrappers/matrix/matrix_LTI.h Examining data/orocos-bfl-0.8.0/src/wrappers/matrix/vector_BOOST.cpp Examining data/orocos-bfl-0.8.0/src/wrappers/matrix/matrix_wrapper.cpp Examining data/orocos-bfl-0.8.0/src/wrappers/matrix/matrix_NEWMAT.h Examining data/orocos-bfl-0.8.0/src/wrappers/matrix/vector_LTI.cpp Examining data/orocos-bfl-0.8.0/src/wrappers/matrix/vector_BOOST.h Examining data/orocos-bfl-0.8.0/src/wrappers/matrix/matrix_wrapper.h Examining data/orocos-bfl-0.8.0/src/wrappers/matrix/vector_NEWMAT.h Examining data/orocos-bfl-0.8.0/src/wrappers/matrix/vector_LTI.h Examining data/orocos-bfl-0.8.0/src/wrappers/matrix/vector_NEWMAT.cpp Examining data/orocos-bfl-0.8.0/src/wrappers/rng/rng.cpp Examining data/orocos-bfl-0.8.0/src/wrappers/rng/rng.h Examining data/orocos-bfl-0.8.0/src/bfl_constants.h Examining data/orocos-bfl-0.8.0/src/filter/optimalimportancefilter.h Examining data/orocos-bfl-0.8.0/src/filter/filter.h Examining data/orocos-bfl-0.8.0/src/filter/asirfilter.h Examining data/orocos-bfl-0.8.0/src/filter/particlefilter.h Examining data/orocos-bfl-0.8.0/src/filter/mixtureParticleFilter.cpp Examining data/orocos-bfl-0.8.0/src/filter/bootstrapfilter.h Examining data/orocos-bfl-0.8.0/src/filter/filter.cpp Examining data/orocos-bfl-0.8.0/src/filter/innovationCheck.cpp Examining data/orocos-bfl-0.8.0/src/filter/bootstrapfilter.cpp Examining data/orocos-bfl-0.8.0/src/filter/nonminimalkalmanfilter.cpp Examining data/orocos-bfl-0.8.0/src/filter/asirfilter.cpp Examining data/orocos-bfl-0.8.0/src/filter/kalmanfilter.h Examining data/orocos-bfl-0.8.0/src/filter/extendedkalmanfilter.cpp Examining data/orocos-bfl-0.8.0/src/filter/particlefilter.cpp Examining data/orocos-bfl-0.8.0/src/filter/iteratedextendedkalmanfilter.h Examining data/orocos-bfl-0.8.0/src/filter/kalmanfilter.cpp Examining data/orocos-bfl-0.8.0/src/filter/nonminimalkalmanfilter.h Examining data/orocos-bfl-0.8.0/src/filter/mixtureBootstrapFilter.h Examining data/orocos-bfl-0.8.0/src/filter/mixtureParticleFilter.h Examining data/orocos-bfl-0.8.0/src/filter/SRiteratedextendedkalmanfilter.cpp Examining data/orocos-bfl-0.8.0/src/filter/SRiteratedextendedkalmanfilter.h Examining data/orocos-bfl-0.8.0/src/filter/innovationCheck.h Examining data/orocos-bfl-0.8.0/src/filter/EKparticlefilter.h Examining data/orocos-bfl-0.8.0/src/filter/mixtureBootstrapFilter.cpp Examining data/orocos-bfl-0.8.0/src/filter/iteratedextendedkalmanfilter.cpp Examining data/orocos-bfl-0.8.0/src/filter/EKparticlefilter.cpp Examining data/orocos-bfl-0.8.0/src/filter/histogramfilter.h Examining data/orocos-bfl-0.8.0/src/filter/extendedkalmanfilter.h Examining data/orocos-bfl-0.8.0/src/filter/histogramfilter.cpp Examining data/orocos-bfl-0.8.0/src/filter/optimalimportancefilter.cpp Examining data/orocos-bfl-0.8.0/src/pdf/uniform.h Examining data/orocos-bfl-0.8.0/src/pdf/discreteconditionalpdf.h Examining data/orocos-bfl-0.8.0/src/pdf/gaussian.h Examining data/orocos-bfl-0.8.0/src/pdf/analyticconditionalgaussian.h Examining data/orocos-bfl-0.8.0/src/pdf/linearanalyticconditionalgaussian.h Examining data/orocos-bfl-0.8.0/src/pdf/EKF_proposaldensity.h Examining data/orocos-bfl-0.8.0/src/pdf/pdf.h Examining data/orocos-bfl-0.8.0/src/pdf/conditionalgaussian.cpp Examining data/orocos-bfl-0.8.0/src/pdf/discreteconditionalpdf.cpp Examining data/orocos-bfl-0.8.0/src/pdf/nonlinearanalyticconditionalgaussian_ginac.h Examining data/orocos-bfl-0.8.0/src/pdf/optimal_importance_density.h Examining data/orocos-bfl-0.8.0/src/pdf/mixture.h Examining data/orocos-bfl-0.8.0/src/pdf/mcpdf.h Examining data/orocos-bfl-0.8.0/src/pdf/mcpdf.cpp Examining data/orocos-bfl-0.8.0/src/pdf/conditionalgaussian.h Examining data/orocos-bfl-0.8.0/src/pdf/filterproposaldensity.h Examining data/orocos-bfl-0.8.0/src/pdf/EKF_proposaldensity.cpp Examining data/orocos-bfl-0.8.0/src/pdf/linearanalyticconditionalgaussian.cpp Examining data/orocos-bfl-0.8.0/src/pdf/mixture.cpp Examining data/orocos-bfl-0.8.0/src/pdf/analyticconditionalgaussian.cpp Examining data/orocos-bfl-0.8.0/src/pdf/discretepdf.cpp Examining data/orocos-bfl-0.8.0/src/pdf/nonlinearanalyticconditionalgaussian_ginac.cpp Examining data/orocos-bfl-0.8.0/src/pdf/conditionalpdf.h Examining data/orocos-bfl-0.8.0/src/pdf/conditionalgaussian_additivenoise.h Examining data/orocos-bfl-0.8.0/src/pdf/analyticconditionalgaussian_additivenoise.cpp Examining data/orocos-bfl-0.8.0/src/pdf/optimal_importance_density.cpp Examining data/orocos-bfl-0.8.0/src/pdf/gaussian.cpp Examining data/orocos-bfl-0.8.0/src/pdf/conditionalgaussian_additivenoise.cpp Examining data/orocos-bfl-0.8.0/src/pdf/discretepdf.h Examining data/orocos-bfl-0.8.0/src/pdf/analyticconditionalgaussian_additivenoise.h Examining data/orocos-bfl-0.8.0/src/pdf/uniform.cpp Examining data/orocos-bfl-0.8.0/src/pdf/filterproposaldensity.cpp Examining data/orocos-bfl-0.8.0/src/smoother/backwardfilter.h Examining data/orocos-bfl-0.8.0/src/smoother/rauchtungstriebel.h Examining data/orocos-bfl-0.8.0/src/smoother/rauchtungstriebel.cpp Examining data/orocos-bfl-0.8.0/src/smoother/particlesmoother.h Examining data/orocos-bfl-0.8.0/src/smoother/backwardfilter.cpp Examining data/orocos-bfl-0.8.0/src/smoother/particlesmoother.cpp Examining data/orocos-bfl-0.8.0/src/bfl_err.h Examining data/orocos-bfl-0.8.0/examples/nonlinearanalyticconditionalgaussianmobile.h Examining data/orocos-bfl-0.8.0/examples/mobile_robot.h Examining data/orocos-bfl-0.8.0/examples/nonlinear_particle/nonlinearSystemPdf.cpp Examining data/orocos-bfl-0.8.0/examples/nonlinear_particle/nonlinearMeasurementPdf.cpp Examining data/orocos-bfl-0.8.0/examples/nonlinear_particle/nonlinearMeasurementPdf.h Examining data/orocos-bfl-0.8.0/examples/nonlinear_particle/test_nonlinear_particle.cpp Examining data/orocos-bfl-0.8.0/examples/nonlinear_particle/nonlinearSystemPdf.h Examining data/orocos-bfl-0.8.0/examples/mobile_robot_wall_cts.h Examining data/orocos-bfl-0.8.0/examples/mobile_robot.cpp Examining data/orocos-bfl-0.8.0/examples/nonlinearanalyticconditionalgaussianmobile.cpp Examining data/orocos-bfl-0.8.0/examples/compare_filters/test_compare_filters.cpp Examining data/orocos-bfl-0.8.0/examples/compare_filters/nonlinearanalyticconditionalgaussianmobile.h Examining data/orocos-bfl-0.8.0/examples/compare_filters/nonlinearanalyticconditionalgaussianmobile.cpp Examining data/orocos-bfl-0.8.0/examples/nonlinear_kalman/test_nonlinear_kalman.cpp Examining data/orocos-bfl-0.8.0/examples/linear_kalman/test_linear_kalman.cpp Examining data/orocos-bfl-0.8.0/examples/discrete_filter/conditionalUniformMeasPdf1d.h Examining data/orocos-bfl-0.8.0/examples/discrete_filter/test_discrete_filter.cpp Examining data/orocos-bfl-0.8.0/examples/discrete_filter/conditionalUniformMeasPdf1d.cpp Examining data/orocos-bfl-0.8.0/examples/smoother/test_kalman_smoother.cpp Examining data/orocos-bfl-0.8.0/examples/smoother/test_nonlinear_smoother.cpp FINAL RESULTS: data/orocos-bfl-0.8.0/examples/compare_filters/test_compare_filters.cpp:127:13: [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). fout_time.open("time.out"); data/orocos-bfl-0.8.0/examples/compare_filters/test_compare_filters.cpp:128:10: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fout_E.open("E.out"); data/orocos-bfl-0.8.0/examples/compare_filters/test_compare_filters.cpp:129:12: [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). fout_cov.open("cov.out"); data/orocos-bfl-0.8.0/examples/compare_filters/test_compare_filters.cpp:130:13: [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). fout_meas.open("meas.out"); data/orocos-bfl-0.8.0/examples/compare_filters/test_compare_filters.cpp:131:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fout_states.open("states.out"); data/orocos-bfl-0.8.0/examples/compare_filters/test_compare_filters.cpp:135:22: [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). fout_particles.open("particles.out"); data/orocos-bfl-0.8.0/examples/compare_filters/test_compare_filters.cpp:136:25: [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). fout_numparticles.open("numparticles.out"); data/orocos-bfl-0.8.0/examples/smoother/test_kalman_smoother.cpp:87:13: [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). fout_time.open("time.out"); data/orocos-bfl-0.8.0/examples/smoother/test_kalman_smoother.cpp:88:10: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fout_E.open("E.out"); data/orocos-bfl-0.8.0/examples/smoother/test_kalman_smoother.cpp:89:12: [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). fout_cov.open("cov.out"); data/orocos-bfl-0.8.0/examples/smoother/test_kalman_smoother.cpp:90:13: [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). fout_meas.open("meas.out"); data/orocos-bfl-0.8.0/examples/smoother/test_kalman_smoother.cpp:91:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fout_states.open("states.out"); data/orocos-bfl-0.8.0/examples/smoother/test_kalman_smoother.cpp:92: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). fout_E_smooth.open("Esmooth.out"); data/orocos-bfl-0.8.0/examples/smoother/test_kalman_smoother.cpp:93: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). fout_cov_smooth.open("covsmooth.out"); data/orocos-bfl-0.8.0/examples/smoother/test_kalman_smoother.cpp:94:20: [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). fout_time_smooth.open("timesmooth.out"); data/orocos-bfl-0.8.0/examples/smoother/test_nonlinear_smoother.cpp:110:13: [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). fout_time.open("time.out"); data/orocos-bfl-0.8.0/examples/smoother/test_nonlinear_smoother.cpp:111:10: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fout_E.open("E.out"); data/orocos-bfl-0.8.0/examples/smoother/test_nonlinear_smoother.cpp:112:12: [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). fout_cov.open("cov.out"); data/orocos-bfl-0.8.0/examples/smoother/test_nonlinear_smoother.cpp:113:13: [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). fout_meas.open("meas.out"); data/orocos-bfl-0.8.0/examples/smoother/test_nonlinear_smoother.cpp:114:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fout_states.open("states.out"); data/orocos-bfl-0.8.0/examples/smoother/test_nonlinear_smoother.cpp:115: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). fout_E_smooth.open("Esmooth.out"); data/orocos-bfl-0.8.0/examples/smoother/test_nonlinear_smoother.cpp:116: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). fout_cov_smooth.open("covsmooth.out"); data/orocos-bfl-0.8.0/examples/smoother/test_nonlinear_smoother.cpp:117:20: [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). fout_time_smooth.open("timesmooth.out"); data/orocos-bfl-0.8.0/examples/smoother/test_nonlinear_smoother.cpp:121:22: [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). fout_particles.open("particles.out"); data/orocos-bfl-0.8.0/examples/smoother/test_nonlinear_smoother.cpp:122:25: [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). fout_numparticles.open("numparticles.out"); data/orocos-bfl-0.8.0/examples/smoother/test_nonlinear_smoother.cpp:123:29: [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). fout_particles_smooth.open("particlessmooth.out"); data/orocos-bfl-0.8.0/examples/smoother/test_nonlinear_smoother.cpp:124:32: [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). fout_numparticles_smooth.open("numparticlessmooth.out"); data/orocos-bfl-0.8.0/tests/complete_filter_test.cpp:222: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). mixtureFile.open("mixtureOutput.txt"); ANALYSIS SUMMARY: Hits = 28 Lines analyzed = 25512 in approximately 0.65 seconds (39377 lines/second) Physical Source Lines of Code (SLOC) = 14366 Hits@level = [0] 0 [1] 0 [2] 28 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 28 [1+] 28 [2+] 28 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 1.94905 [1+] 1.94905 [2+] 1.94905 [3+] 0 [4+] 0 [5+] 0 Dot directories skipped = 1 (--followdotdir overrides) Minimum risk level = 1 Not every hit is necessarily a security vulnerability. There may be other security vulnerabilities; review your code! See 'Secure Programming HOWTO' (https://dwheeler.com/secure-programs) for more information.