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/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/5tt2gmwmi.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/5tt2vis.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/5ttcheck.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/5ttedit.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/afdconnectivity.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/amp2response.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/amp2sh.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/connectome2tck.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/connectomestats.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dcmedit.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dcminfo.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dirflip.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dirgen.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dirmerge.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dirorder.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dirsplit.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dirstat.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwi2adc.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwi2fod.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwi2mask.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwi2tensor.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwidenoise.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwiextract.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwinormalise.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fixel2sh.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fixel2tsf.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fixel2voxel.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fixelcfestats.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fixelconvert.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fixelcorrespondence.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fixelcrop.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fixelreorient.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fod2dec.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fod2fixel.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/label2colour.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/label2mesh.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/labelconvert.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/maskdump.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/maskfilter.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mesh2voxel.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/meshconvert.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/meshfilter.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mraverageheader.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrcalc.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrcat.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrcheckerboardmask.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrclusterstats.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrconvert.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrcrop.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrdegibbs.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrdump.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mredit.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrfilter.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrhistmatch.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrhistogram.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrinfo.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrmath.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrmetric.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrpad.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrregister.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrresize.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrstats.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrthreshold.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrtransform.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrview.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mtnormalise.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/peaks2amp.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/sh2amp.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/sh2peaks.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/sh2power.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/sh2response.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/shbasis.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/shconv.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/shview.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tck2connectome.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tck2fixel.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckconvert.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckdfc.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckedit.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckgen.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckglobal.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckinfo.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckmap.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckresample.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tcksample.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tcksift.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tcksift2.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckstats.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tcktransform.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tensor2metric.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/transformcalc.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/transformcompose.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/transformconvert.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tsfdivide.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tsfinfo.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tsfmult.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tsfsmooth.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tsfthreshold.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tsfvalidate.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/vectorstats.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/voxel2fixel.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/voxel2mesh.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/warp2metric.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/warpconvert.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/warpcorrect.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/warpinit.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/warpinvert.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/adapter/base.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/adapter/extract.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/adapter/gaussian1D.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/adapter/gradient1D.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/adapter/gradient3D.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/adapter/jacobian.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/adapter/median.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/adapter/neighbourhood3D.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/adapter/normalise3D.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/adapter/permute_axes.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/adapter/replicate.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/adapter/reslice.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/adapter/reslice.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/adapter/subset.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/adapter/warp.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/algo/copy.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/algo/histogram.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/algo/histogram.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/algo/iterator.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/algo/loop.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/algo/min_max.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/algo/neighbourhooditerator.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/algo/random_loop.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/algo/random_threaded_loop.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/algo/stochastic_threaded_loop.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/algo/threaded_copy.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/algo/threaded_loop.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/app.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/app.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/apply.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/axes.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/axes.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/bitset.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/bitset.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/cmdline_option.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/command.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/datatype.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/datatype.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/debug.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/eigen_plugins/array.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/eigen_plugins/dense_base.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/eigen_plugins/matrix.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/exception.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/exception.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/config.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/config.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/copy.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/csa_entry.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/definitions.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/dict.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/element.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/element.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/image.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/image.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/mapper.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/mapper.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/patient.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/patient.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/quick_scan.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/quick_scan.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/select_cmdline.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/series.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/series.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/study.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/study.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/tree.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/tree.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/entry.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/gz.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/json.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/json_utils.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/json_utils.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/key_value.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/key_value.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mmap.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mmap.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/name_parser.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/name_parser.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1_utils.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1_utils.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2_utils.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2_utils.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti_utils.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti_utils.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/ofstream.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/ofstream.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/path.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/tiff.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/tiff.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/utils.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/filter/base.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/filter/connected_components.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/filter/dilate.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/filter/dwi_brain_mask.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/filter/erode.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/filter/fft.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/filter/gradient.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/filter/mask_clean.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/filter/median.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/filter/normalise.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/filter/optimal_threshold.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/filter/resize.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/filter/reslice.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/filter/smooth.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/filter/warp.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/fixel/helpers.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/fixel/keys.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/fixel/legacy/fixel_metric.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/fixel/legacy/image.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/fixel/legacy/keys.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/fixel/loop.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/analyse.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/dicom.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/list.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/list.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mgh.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mgz.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mri.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mrtrix.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mrtrix_gz.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mrtrix_sparse_legacy.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mrtrix_utils.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mrtrix_utils.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/nifti1.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/nifti1_gz.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/nifti2.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/nifti2_gz.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/pipe.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/ram.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/tiff.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/xds.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/header.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/header.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_diff.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_helpers.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/base.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/base.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/default.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/default.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/fetch_store.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/fetch_store.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/gz.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/gz.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/mosaic.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/mosaic.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/pipe.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/pipe.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/ram.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/ram.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/scratch.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/scratch.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/sparse.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/sparse.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/tiff.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/tiff.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/interp/base.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/interp/cubic.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/interp/linear.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/interp/nearest.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/interp/sinc.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/SH.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/SH.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/Sn_scale_estimator.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/ZSH.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/average_space.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/average_space.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/bessel.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/bessel.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/cauchy.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/chebyshev.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/check_gradient.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/constrained_least_squares.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/cubic_spline.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/gaussian.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/golden_section_search.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/gradient_descent.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/gradient_descent_bb.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/hermite.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/least_squares.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/legendre.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/math.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/median.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/quadratic_line_search.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/rician.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/rng.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/sech.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/sinc.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/sphere.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/stats/glm.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/stats/glm.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/stats/permutation.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/stats/permutation.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/stats/typedefs.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/versor.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/memory.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/mrtrix.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/mrtrix.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/phase_encoding.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/phase_encoding.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/progressbar.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/progressbar.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/raw.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/signal_handler.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/signal_handler.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/signals.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/stats.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/stats.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/stride.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/stride.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/thread.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/thread.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/thread_queue.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/timer.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/transform.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/types.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/connectome.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/connectome.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/enhance.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/enhance.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/lut.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/lut.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/mat2vec.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/bootstrap.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/directions/file.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/directions/file.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/directions/mask.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/directions/mask.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/directions/predefined.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/directions/predefined.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/directions/set.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/directions/set.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/fixel_map.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/fmls.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/fmls.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/gradient.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/gradient.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/noise_estimator.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/sdeconv/csd.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/sdeconv/csd.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/sdeconv/msmt_csd.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/shells.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/shells.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tensor.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/ACT/act.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/ACT/act.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/ACT/gmwmi.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/ACT/gmwmi.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/ACT/method.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/ACT/shared.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/ACT/tissues.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/energy.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/externalenergy.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/externalenergy.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/gt.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/gt.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/internalenergy.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/internalenergy.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/mhsampler.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/mhsampler.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/particle.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/particle.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/particlegrid.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/particlegrid.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/particlepool.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/spatiallock.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/fixel.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/gradient_sort.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/gradient_sort.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/model.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/model_base.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/output.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/proc_mask.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/proc_mask.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/sift.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/sift.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/sifter.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/sifter.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/track_contribution.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/track_contribution.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/track_index_range.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/track_index_range.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/types.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT2/coeff_optimiser.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT2/coeff_optimiser.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT2/fixel.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT2/fixel_updater.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT2/fixel_updater.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT2/line_search.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT2/line_search.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT2/reg_calculator.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT2/reg_calculator.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT2/regularisation.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT2/streamline_stats.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT2/streamline_stats.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT2/tckfactor.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT2/tckfactor.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/algorithms/calibrator.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/algorithms/fact.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/algorithms/iFOD1.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/algorithms/iFOD2.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/algorithms/iFOD2.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/algorithms/nulldist.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/algorithms/sd_stream.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/algorithms/seedtest.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/algorithms/tensor_det.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/algorithms/tensor_prob.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/connectome/connectome.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/connectome/connectome.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/connectome/exemplar.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/connectome/exemplar.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/connectome/extract.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/connectome/extract.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/connectome/mapped_track.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/connectome/mapper.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/connectome/matrix.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/connectome/matrix.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/connectome/metric.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/connectome/streamline.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/connectome/tck2nodes.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/connectome/tck2nodes.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/editing/editing.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/editing/editing.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/editing/loader.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/editing/receiver.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/editing/receiver.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/editing/worker.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/editing/worker.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/file.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/file_base.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/file_base.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/buffer_scratch_dump.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/fixel_td_map.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/fixel_td_map.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/gaussian/mapper.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/gaussian/mapper.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/gaussian/voxel.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/loader.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/mapper.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/mapper.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/mapper_plugins.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/mapper_plugins.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/mapping.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/mapping.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/twi_stats.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/twi_stats.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/voxel.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/voxel.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/writer.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/writer.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/properties.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/properties.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/resampling/arc.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/resampling/arc.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/resampling/downsampler.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/resampling/downsampler.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/resampling/endpoints.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/resampling/endpoints.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/resampling/fixed_num_points.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/resampling/fixed_num_points.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/resampling/fixed_step_size.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/resampling/fixed_step_size.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/resampling/resampling.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/resampling/resampling.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/resampling/upsampler.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/resampling/upsampler.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/rng.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/rng.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/roi.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/roi.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/scalar_file.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/seeding/base.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/seeding/basic.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/seeding/basic.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/seeding/dynamic.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/seeding/dynamic.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/seeding/gmwmi.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/seeding/gmwmi.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/seeding/list.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/seeding/list.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/seeding/seeding.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/seeding/seeding.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/streamline.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/tracking/early_exit.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/tracking/early_exit.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/tracking/exec.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/tracking/generated_track.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/tracking/method.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/tracking/method.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/tracking/shared.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/tracking/shared.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/tracking/tractography.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/tracking/tractography.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/tracking/types.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/tracking/write_kernel.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/tracking/write_kernel.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/weights.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/weights.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/exec_version.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/color_button.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/color_button.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/cursor.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/cursor.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dialog/dialog.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dialog/dialog.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dialog/dicom.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dialog/dicom.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dialog/file.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dialog/file.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dialog/image_properties.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dialog/image_properties.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dialog/list.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dialog/list.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dialog/opengl.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dialog/opengl.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dialog/progress.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dialog/progress.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dialog/report_exception.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dialog/report_exception.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dwi/render_frame.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dwi/render_frame.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dwi/renderer.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/dwi/renderer.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/gui.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/gui.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/lighting_dock.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/lighting_dock.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/adjust_button.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/adjust_button.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/colourmap.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/colourmap.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/colourmap_button.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/colourmap_button.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/combo_box_error.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/combo_box_error.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/displayable.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/displayable.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/gui_image.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/gui_image.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/icons.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/mode/base.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/mode/base.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/mode/lightbox.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/mode/lightbox.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/mode/lightbox_gui.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/mode/list.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/mode/ortho.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/mode/ortho.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/mode/slice.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/mode/slice.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/mode/volume.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/mode/volume.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/spin_box.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/base.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/base.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/colourmap_observers.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/colourmap_observers.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/connectome.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/connectome.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/edge.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/edge.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/file_data_vector.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/file_data_vector.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/matrix_list.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/matrix_list.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/node.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/node.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/node_list.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/node_list.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/node_overlay.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/node_overlay.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/selection.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/selection.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/shaders.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/shaders.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/types.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/fixel/base_fixel.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/fixel/base_fixel.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/fixel/directory.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/fixel/directory.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/fixel/fixel.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/fixel/fixel.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/fixel/image4D.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/fixel/image4D.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/fixel/legacy.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/fixel/legacy.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/fixel/vector_structs.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/list.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/list_model_base.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/odf/item.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/odf/item.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/odf/model.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/odf/model.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/odf/odf.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/odf/odf.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/odf/preview.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/odf/preview.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/odf/type.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/overlay.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/overlay.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/roi_editor/item.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/roi_editor/item.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/roi_editor/model.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/roi_editor/model.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/roi_editor/roi.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/roi_editor/roi.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/roi_editor/undoentry.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/roi_editor/undoentry.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/screen_capture.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/screen_capture.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/tractography/track_scalar_file.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/tractography/track_scalar_file.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/tractography/tractogram.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/tractography/tractogram.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/tractography/tractogram_enums.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/tractography/tractography.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/tractography/tractography.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/view.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/view.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/volume.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/volume.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/window.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/window.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/font.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/font.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/gl.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/gl.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/lighting.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/lighting.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/shader.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/shader.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/transformation.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/gl_core_3_3.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/gl_core_3_3.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/projection.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/projection.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/shapes/cube.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/shapes/cube.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/shapes/cylinder.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/shapes/cylinder.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/shapes/halfsphere.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/shapes/halfsphere.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/shapes/sphere.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/shapes/sphere.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/shview/icons.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/shview/render_window.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/shview/render_window.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/min_mem_array.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/linear.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/linear.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/metric/cross_correlation.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/metric/demons.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/metric/demons4D.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/metric/difference_robust.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/metric/evaluate.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/metric/mean_squared.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/metric/normalised_cross_correlation.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/metric/params.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/metric/robust_estimators.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/metric/thread_kernel.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/multi_resolution_lmax.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/nonlinear.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/nonlinear.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/transform/affine.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/transform/affine.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/transform/base.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/transform/convergence_check.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/transform/convergence_check.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/transform/initialiser.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/transform/initialiser.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/transform/initialiser_helpers.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/transform/initialiser_helpers.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/transform/reorient.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/transform/rigid.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/transform/rigid.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/transform/search.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/warp/compose.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/warp/convert.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/warp/helpers.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/registration/warp/invert.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/stats/cfe.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/stats/cfe.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/stats/cluster.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/stats/cluster.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/stats/enhance.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/stats/permstack.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/stats/permstack.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/stats/permtest.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/stats/permtest.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/stats/tfce.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/stats/tfce.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/algo/image2mesh.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/algo/mesh2image.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/algo/mesh2image.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/filter/base.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/filter/base.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/filter/smooth.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/filter/smooth.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/filter/vertex_transform.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/filter/vertex_transform.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/freesurfer.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/freesurfer.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh_multi.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh_multi.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/polygon.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/polygon.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/scalar.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/scalar.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/types.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/utils.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/wrap_r.h
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/cmd/testing_diff_dir.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/cmd/testing_diff_fixel.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/cmd/testing_diff_fixel_old.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/cmd/testing_diff_image.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/cmd/testing_diff_matrix.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/cmd/testing_diff_mesh.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/cmd/testing_diff_peaks.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/cmd/testing_diff_tck.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/cmd/testing_diff_tsf.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/cmd/testing_gen_data.cpp
Examining data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/src/diff_images.h

FINAL RESULTS:

data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/app.cpp:543:22:  [4] (shell) popen:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
        FILE* file = popen (help_display_command.c_str(), "w");
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/exception.cpp:71:21:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    __print_stderr (printf (colour_format_strings[App::terminal_use_colour ? clamp(type) : 0],
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:278:13:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
            sscanf (buffer, "%s %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf",
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:683:15:  [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 (frame.name, entries[19].c_str());
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/tiff.cpp:37:77:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
      INFO (std::string ("error in TIFF library: [") + module + "]: " + MR::printf (fmt, ap));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image.h:539:11:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      if (system (("bash -c \"mrview " + filename + "\"").c_str()))
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/mrtrix.h:150:22:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  inline std::string printf (const char* format, ...)
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/mrtrix.h:156:11:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
    len = vsnprintf (nullptr, 0, format, list1) + 1;
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/mrtrix.h:159:5:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
    vsnprintf (buf, len, format, list2);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/progressbar.cpp:45:25:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
        __print_stderr (printf ("\r%s: [%3" PRI_SIZET "%%] %s%s" CLEAR_LINE_CODE,
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/progressbar.cpp:48:25:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
        __print_stderr (printf ("\r%s: [%s] %s%s" CLEAR_LINE_CODE,
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/lut.cpp:237:3:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  sscanf (line.c_str(), "%u %s", &index, name);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/lut.cpp:248:3:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  sscanf (line.c_str(), "%u %s %u %u %u %u", &index, name, &r, &g, &b, &a);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/lut.cpp:258:3:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  sscanf (line.c_str(), "%s %s %u", short_name, name, &index);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/lut.cpp:272:3:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  sscanf (line.c_str(), "%u %u %u %u %f %u %u %s", &index, &r, &g, &b, &a, &label_vis, &mesh_vis, name);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/lut.cpp:283:3:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  sscanf (line.c_str(), "%u %s %s %u %u %u %u", &index, short_name, name, &r, &g, &b, &a);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/gl_core_3_3.cpp:1454:72:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
  static void * CODEGEN_FUNCPTR Switch_MapBuffer(GLenum target, GLenum access)
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/gl_core_3_3.cpp:1457:30:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
    return MapBuffer(target, access);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/gl_core_3_3.cpp:2360:117:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
  static void * CODEGEN_FUNCPTR Switch_MapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/gl_core_3_3.cpp:2363:51:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
    return MapBufferRange(target, offset, length, access);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/gl_core_3_3.h:1078:68:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
  extern void * (CODEGEN_FUNCPTR *MapBuffer)(GLenum target, GLenum access);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/gl_core_3_3.h:1234:113:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
  extern void * (CODEGEN_FUNCPTR *MapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/app.cpp:80:21:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    int log_level = getenv("MRTRIX_QUIET") ? 0 : 1;
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/app.cpp:1159:7:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
      srand (time (nullptr));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/config.cpp:36:38:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
      const char* sysconf_location = getenv ("MRTRIX_CONFIGFILE");
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/json.h:9000:16:  [3] (random) setstate:
  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.
            is.setstate(flags);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/key_value.cpp:58:14:  [3] (random) setstate:
  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.
          in.setstate (std::ios::eofbit);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/path.h:134:26:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
      const char* home = getenv (HOME_ENV);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/utils.h:79:32:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
        const char* from_env = getenv ("MRTRIX_TMPFILE_PREFIX");
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/rng.h:62:34:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
          const char* from_env = getenv ("MRTRIX_RNG_SEED");
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/thread.cpp:52:30:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
      const char* from_env = getenv ("MRTRIX_NTHREADS");
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/particlegrid.h:84:25:  [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.
            return pool.random();
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/particlepool.h:81:21:  [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.
          Particle* random() {
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/5tt2gmwmi.cpp:118:30:  [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).
  auto input = Image<float>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/5tt2gmwmi.cpp:128: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).
    mask = Image<bool>::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/5tt2vis.cpp:81:30:  [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).
  auto input = Image<float>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/5ttcheck.cpp:61: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).
    auto in = Image<float>::open (argument[i]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/5ttedit.cpp:131:37:  [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).
      buffers[index] = Image<bool>::open (path);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/5ttedit.cpp:144:27:  [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).
  auto in = Image<float>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/afdconnectivity.cpp:295:33:  [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).
  auto fod = Image<value_type>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/amp2response.cpp:124: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).
  auto header = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/amp2response.cpp:195:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto mask = Image<bool>::open (argument[1]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/amp2response.cpp:199:34:  [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).
  auto dir_image = Image<float>::open (argument[2]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/amp2sh.cpp:201:33:  [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).
  auto amp = Image<value_type>::open (argument[0]).with_direct_io (3);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/amp2sh.cpp:255:37:  [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).
    auto noise = Image<value_type>::open (opt[0][0]).with_direct_io();
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/connectome2tck.cpp:208:33:  [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).
    auto image = Image<node_t>::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dcmedit.cpp:119:30:  [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.
    union __VR { uint16_t i; char c[2]; } VR;
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dcmedit.cpp:132: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 (item.data, "anonymous", std::min<int> (item.size, 9));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dcmedit.cpp:138: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 (item.data, tags[n].newvalue.c_str(), std::min<int> (item.size, tags[n].newvalue.size()));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dirstat.cpp:97: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).
      auto header = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwi2adc.cpp:82: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).
  auto dwi = Header::open (argument[0]).get_image<value_type>();
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwi2fod.cpp:222:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto header_in = Header::open (argument[1]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwi2fod.cpp:232: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).
    mask = Header::open (opt[0][0]).get_image<bool>();
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwi2mask.cpp:68:30:  [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).
  auto input = Image<float>::open (argument[0]).with_direct_io (3);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwi2tensor.cpp:168: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).
  auto dwi = Header::open (argument[0]).get_image<value_type>();
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwi2tensor.cpp:174:42:  [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).
    mask = new Image<bool> (Image<bool>::open (opt[0][0]));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwidenoise.cpp:199:36:  [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).
  auto dwi_in = Image<value_type>::open (argument[0]).with_direct_io(3);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwidenoise.cpp:207: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).
    mask = Image<bool>::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwiextract.cpp:55:31:  [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).
  auto input_header = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwinormalise.cpp:61:30:  [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).
  auto input = Image<float>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dwinormalise.cpp:62:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto mask = Image<bool>::open (argument[1]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fixel2voxel.cpp:554: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).
    in_vol = FixelDataType::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fixelcfestats.cpp:177: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).
    mask = Image<bool>::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fixelcfestats.cpp:240:24:  [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).
      header = Header::open (filename);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fixelcfestats.cpp:408:46:  [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).
      auto subject_data = Image<value_type>::open (identifiers[subject]).with_direct_io();
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fixelconvert.cpp:72:26:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  Header header (Header::open (argument[0]));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fixelcorrespondence.cpp:65:37:  [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).
  auto subject_data = Image<float>::open (input_file);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fixelcrop.cpp:55:34:  [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).
  auto mask_image = Image<bool>::open (argument[1]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fixelreorient.cpp:58: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).
  Header warp_header = Header::open (argument[1]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fod2dec.cpp:214:26:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto fod_hdr = Header::open(argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fod2dec.cpp:220:24:  [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).
    mask_hdr = Header::open(optm[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fod2dec.cpp:248:23:  [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).
    map_hdr = Header::open(opto[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fod2fixel.cpp:291: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).
  Header H = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/fod2fixel.cpp:320:26:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    mask = Image<float>::open (std::string (opt[0][0]));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/label2colour.cpp:64: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).
  auto H = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/label2mesh.cpp:63:34:  [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).
  Header labels_header = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/labelconvert.cpp:79: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).
  auto H = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/labelconvert.cpp:129:36:  [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).
      auto in_spine = Image<bool>::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/maskdump.cpp:42: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).
  auto H = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/maskfilter.cpp:105:41:  [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).
  auto input_image = Image<value_type>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mesh2voxel.cpp:62:36:  [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).
  Header template_header = Header::open (argument[1]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/meshconvert.cpp:75: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).
    auto H = Header::open (opt[0][1]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mraverageheader.cpp:72: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).
    size_t dim (Header::open (argument[0]).ndim());
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mraverageheader.cpp:75:45:  [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).
    ssize_t volumes (dim == 3 ? 1 : Header::open (argument[0]).size(3));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mraverageheader.cpp:78:39:  [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).
        headers_in.push_back (Header::open (argument[i]));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrcalc.cpp:240:33:  [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).
          auto header = Header::open (arg);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrcat.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).
  in[0] = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrcat.cpp:101:21:  [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).
    in[i] = Header::open (argument[i]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrcheckerboardmask.cpp:58:27:  [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).
  auto in = Image<float>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrclusterstats.cpp:161:30:  [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).
  auto mask_header = Header::open (argument[3]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrclusterstats.cpp:175:40:  [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).
      auto input_image = Image<float>::open (subjects[subject]); //.with_direct_io (3); <- Should be inputting 3D images?
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrconvert.cpp:319:30:  [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).
  Header header_in = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrcrop.cpp:63:27:  [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).
  auto in = Image<float>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrcrop.cpp:74:30:  [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).
    auto mask = Image<bool>::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrdegibbs.cpp:310: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).
  auto in = Image<value_type>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrdump.cpp:104: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).
  auto H = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrdump.cpp:109: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).
    mask = Image<bool>::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mredit.cpp:101: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).
  auto H = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrfilter.cpp:142:36:  [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).
      auto input = Image<cdouble>::open (argument[0]).with_direct_io();
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrfilter.cpp:169:34:  [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).
      auto input = Image<float>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrfilter.cpp:198:34:  [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).
      auto input = Image<float>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrfilter.cpp:215:34:  [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).
      auto input = Image<float>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrfilter.cpp:246:34:  [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).
      auto input = Image<float>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrhistmatch.cpp:195:31:  [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).
  auto input  = Image<float>::open (argument[1]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrhistmatch.cpp:196:31:  [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).
  auto target = Image<float>::open (argument[2]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrhistmatch.cpp:203:31:  [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).
    mask_input = Image<bool>::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrhistmatch.cpp:208: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).
    mask_target = Image<bool>::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrhistogram.cpp:100: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).
  auto header = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrhistogram.cpp:113: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).
    mask = Image<bool>::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrinfo.cpp:299:27:  [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).
    auto header = Header::open (argument[i]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrmath.cpp:349: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).
    auto image_in = Header::open (argument[0]).get_image<value_type>().with_direct_io (axis);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrmath.cpp:398: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).
    headers_in[0] = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrmath.cpp:410:31:  [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).
      headers_in[i] = Header::open (path);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrmetric.cpp:240:36:  [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).
  auto input1 = Image<value_type>::open (argument[0]).with_direct_io (Stride::contiguous_along_axis (3));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrmetric.cpp:241:36:  [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).
  auto input2 = Image<value_type>::open (argument[1]).with_direct_io (Stride::contiguous_along_axis (3));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrmetric.cpp:264:26:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    mask1 = Image<bool>::open (get_options ("mask1")[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrmetric.cpp:271:26:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    mask2 = Image<bool>::open (get_options ("mask2")[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrpad.cpp:53:33:  [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).
  Header input_header = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrregister.cpp:119:52:  [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).
  Image<value_type> im1_image = Image<value_type>::open (argument[0]).with_direct_io (Stride::contiguous_along_axis (3));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrregister.cpp:120:52:  [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).
  Image<value_type> im2_image = Image<value_type>::open (argument[1]).with_direct_io (Stride::contiguous_along_axis (3));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrregister.cpp:220:35:  [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).
    im1_mask = Image<value_type>::open(opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrregister.cpp:228:35:  [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).
    im2_mask = Image<value_type>::open(opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrregister.cpp:374: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).
    linear_logstream.open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrregister.cpp:522: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).
    linear_logstream.open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrregister.cpp:579:60:  [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).
    Image<default_type> input_warps = Image<default_type>::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrresize.cpp:67:30:  [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).
  auto input = Image<float>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrstats.cpp:117: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).
  auto header = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrstats.cpp:127: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).
    mask = Image<bool>::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrthreshold.cpp:131: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).
  auto header = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrthreshold.cpp:224:27:  [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).
      mask = Image<bool>::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrtransform.cpp:216:31:  [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).
  auto input_header = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrtransform.cpp:236:38:  [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).
      auto template_header = Header::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrtransform.cpp:260:31:  [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).
    template_header = Header::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrtransform.cpp:274:33:  [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).
    warp = Image<default_type>::open (opt[0][0]).with_direct_io();
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mrtransform.cpp:295:33:  [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).
    warp = Image<default_type>::open (opt[0][0]).with_direct_io (Stride::contiguous_along_axis(3));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mtnormalise.cpp:233: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).
    auto image = ImageType::open (argument[i]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/mtnormalise.cpp:263:30:  [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).
  auto orig_mask = MaskType::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/peaks2amp.cpp:42:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto dir = Image<float>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/sh2amp.cpp:87:37:  [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).
  auto sh_data = Image<value_type>::open(argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/sh2peaks.cpp:293:37:  [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).
  auto SH_data = Image<value_type>::open (argument[0]).with_direct_io (3);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/sh2peaks.cpp:300:51:  [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).
    mask_data.reset (new Image<bool>(Image<bool>::open (opt[0][0])));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/sh2peaks.cpp:334:68:  [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).
      ipeaks_data.reset (new Image<value_type> (Image<value_type>::open(opt[0][0])));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/sh2power.cpp:47: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).
  auto SH_data = Image<float>::open(argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/sh2response.cpp:71: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).
  auto SH = Image<value_type>::open(argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/sh2response.cpp:73:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto mask = Image<bool>::open(argument[1]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/sh2response.cpp:74:33:  [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).
  auto dir = Image<value_type>::open(argument[2]).with_direct_io();
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/sh2response.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).
    dump_stream.open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/shbasis.cpp:317:24:  [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).
    Header H = Header::open (path);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/shconv.cpp:82:38:  [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).
  auto image_in = Image<value_type>::open (argument[0]).with_direct_io (3);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/shconv.cpp:92: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).
    mask = Header::open (opt[0][0]).get_image<bool>();
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tck2connectome.cpp:148:36:  [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).
  auto node_image = Image<node_t>::open (argument[1]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckconvert.cpp:293: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).
        vertexOF.open(vertexFilename);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckconvert.cpp:294:16:  [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).
        faceOF.open(faceFilename);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckconvert.cpp:546: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).
  pointsOF.open(pointsFilename );
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckconvert.cpp:549: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).
  decOF.open ( decFilename );
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckconvert.cpp:694:31:  [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).
        auto header = Header::open(opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckconvert.cpp:700:31:  [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).
        auto header = Header::open(opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckconvert.cpp:706:31:  [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).
        auto header = Header::open(opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckconvert.cpp:712:31:  [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).
        auto header = Header::open(opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckdfc.cpp:310:42:  [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).
  Image<float> fmri_image (Image<float>::open (argument[1]).with_direct_io(3));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckdfc.cpp:328: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).
    header = Header::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckglobal.cpp:221:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  auto dwi = Image<float>::open(argument[0]).with_direct_io(3);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckglobal.cpp:238: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).
    mask = Image<bool>::open(opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckmap.cpp:284:36:  [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).
    auto template_header = Header::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tcksample.cpp:457: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).
  auto H = Header::open (argument[1]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tcksift.cpp:86:31:  [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).
  auto in_dwi = Image<float>::open (argument[1]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tcksift2.cpp:152:31:  [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).
  auto in_dwi = Image<float>::open (argument[1]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tcktransform.cpp:124:34:  [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).
  auto data = Image<value_type>::open (argument[1]).with_direct_io (3);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tensor2metric.cpp:275:36:  [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).
  auto dt_img = Image<value_type>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tensor2metric.cpp:281: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).
    mask_img = Image<bool>::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/transformcalc.cpp:189:34:  [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).
      auto orig_header = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/transformcalc.cpp:190:38:  [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).
      auto modified_header = Header::open (argument[1]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/transformcompose.cpp:99:50:  [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).
      template_header.reset (new Header (Header::open (argument[i])));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/transformcompose.cpp:100:41:  [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).
      auto image = Image<default_type>::open (argument[i]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/transformcompose.cpp:124:48:  [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).
    template_header.reset (new Header (Header::open (opt[0][0])));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/transformconvert.cpp:184:33:  [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).
      auto src_header = Header::open (argument[1]); // -in
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/transformconvert.cpp:185:34:  [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).
      auto dest_header = Header::open (argument[2]); // -ref
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/voxel2fixel.cpp:48:31:  [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).
  auto scalar = Image<float>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/voxel2mesh.cpp:68:31:  [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).
    auto input = Image<bool>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/voxel2mesh.cpp:72: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).
    auto input = Image<float>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/warp2metric.cpp:67:35:  [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).
  auto input = Image<value_type>::open (argument[0]).with_direct_io (3);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/warpconvert.cpp:88:45:  [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).
    auto deformation = Image<default_type>::open (argument[0]).with_direct_io (3);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/warpconvert.cpp:98:46:  [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).
    auto displacement = Image<default_type>::open (argument[0]).with_direct_io (3);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/warpconvert.cpp:116:38:  [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).
    auto warp = Image<default_type>::open (argument[0]).with_direct_io (3);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/warpconvert.cpp:125:38:  [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).
      auto template_header = Header::open (template_filename);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/warpcorrect.cpp:47:35:  [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).
  auto input = Image<value_type>::open (argument[0]).with_direct_io (3);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/warpinit.cpp:55: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).
  auto header = Header::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/warpinvert.cpp:56: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).
  Header header_in (Header::open (argument[0]));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/warpinvert.cpp:61:26:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    header_out = Header::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/bitset.cpp:43: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 (data, that.data, bytes);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/bitset.cpp:64: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 (new_data, data, bytes);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/bitset.cpp:69: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 (new_data, data, new_bytes);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/bitset.cpp:169: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 (data, that.data, bytes);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/bitset.h:226: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.
      static const char dbyte_to_hex[16];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/copy.h:37: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 (output.address(), input.address(), input.size());
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/csa_entry.h:154:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char name[65], vr[5];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/element.h:187: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.
              char t[2];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/gz.h:42:11:  [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 (fname, mode);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/gz.h:57:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        void open (const std::string& fname, const char* mode) {
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/json.h:7213:38:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                        static const char hexify[16] =
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/json.h:9994:18:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            std::memcpy(&result, vec.data(), sizeof(T));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/json.h:10734:18:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            std::memcpy(vec.data(), &n, sizeof(T));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/key_value.cpp:25: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).
    void KeyValue::open (const std::string& file, const char* first_line)
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/key_value.cpp:30: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).
      in.open (file.c_str(), std::ios::in | std::ios::binary);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/key_value.h:31:11:  [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 (file, first_line);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/key_value.h:34: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).
        void  open (const std::string& file, const char* first_line = NULL);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:149:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char    name[MGH_STRLEN]; // human-readable description of frame contents
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:272:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char buffer[MGH_MATRIX_STRLEN];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:276:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char ch[100];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:380: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.
              char buffer[empty_space_len];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:636:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char buffer[MGH_MATRIX_STRLEN];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:638:13:  [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 (buffer, "AutoAlign %10lf %10lf %10lf %10lf %10lf %10lf %10lf %10lf %10lf %10lf %10lf %10lf %10lf %10lf %10lf %10lf",
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:802: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.
              char buffer[extra_space_len];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mmap.cpp:68:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char root_path[length];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mmap.cpp:156: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).
      if ( (fd = open (Entry::name.c_str(), ( readwrite ? O_RDWR : O_RDONLY ), 0666)) < 0)
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1.h:139: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  data_type[10]; /*!< ++UNUSED++            */  /* char data_type[10];  */
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1.h:140: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  db_name[18];   /*!< ++UNUSED++            */  /* char db_name[18];    */
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1.h:173: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  descrip[80];   /*!< any text you like.    */  /* char descrip[80];    */
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1.h:174: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  aux_file[24];  /*!< auxiliary filename.   */  /* char aux_file[24];   */
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1.h:190: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 intent_name[16];/*!< 'name' or meaning of data.  */
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1.h:192: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 magic[4] ;      /*!< MUST be "ni1\0" or "n+1\0". */
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1.h:278: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 extension[4] ;
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1_utils.cpp:47:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char db_name[19];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1_utils.cpp:154:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char descrip[81];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2.h:73:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char  magic[8] ;      /*!< MUST be valid signature. */  /* char magic[4];    */   /*   4 */
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2.h:90:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char  descrip[80];    /*!< any text you like.    */ /* char descrip[80];     */   /* 240 */
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2.h:91:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char  aux_file[24];   /*!< auxiliary filename.   */ /* char aux_file[24];    */   /* 320 */
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2.h:106:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char intent_name[16]; /*!< 'name' or meaning of data. */ /* char intent_name[16]; */  /* 508 */
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2.h:108:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
   char unused_str[15];  /*!< unused, filled with \0 */                                  /* 525 */
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2_utils.cpp:145:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char descrip[81];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2_utils.cpp:399: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.
        const char xyzt_units[4] { NIFTI_UNITS_MM, NIFTI_UNITS_MM, NIFTI_UNITS_MM, NIFTI_UNITS_SEC };
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2_utils.h:32:17:  [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.
      constexpr char signature_extra[4] { '\r', '\n', '\032', '\n' };
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/ofstream.cpp:27: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 OFStream::open (const std::string& path, const std::ios_base::openmode mode)
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/ofstream.cpp:34: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).
    std::ofstream::open (path.c_str(), mode);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/ofstream.h:42:11:  [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 (path, mode);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/ofstream.h:45:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        void open (const std::string& path, const std::ios_base::openmode mode = std::ios_base::out);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/utils.h:121: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 fid = open (filename.c_str(), O_CREAT | O_RDWR | ( App::overwrite_files ? O_TRUNC : O_EXCL ), 0666);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/utils.h:129: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).
        fid = open (filename.c_str(), O_CREAT | O_RDWR | O_TRUNC, 0666);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/utils.h:151:16:  [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 fd = open (filename.c_str(), O_RDWR, 0666);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/utils.h:188: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).
        fid = open (filename.c_str(), O_CREAT | O_RDWR | O_EXCL, 0666);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/fixel/helpers.h:102:45:  [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).
        auto index_image = Image<uint32_t>::open (index_header.name());
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/fixel/helpers.h:128:47:  [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).
          auto index_image = Image<uint32_t>::open (index_header.name());
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/fixel/helpers.h:190:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
          header = Header::open (full_path);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/fixel/helpers.h:217:30:  [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).
            auto H = Header::open (Path::join (fixel_directory_path, fname));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/fixel/helpers.h:250:59:  [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).
              && is_directions_file (tmp_header = Header::open (full_path))) {
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/fixel/helpers.h:295:37:  [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).
      Header input_header = Header::open (input_file_path);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/fixel/helpers.h:311:46:  [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).
        auto output_image = Image<uint32_t>::open (output_path);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/fixel/helpers.h:332:46:  [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).
        auto output_image = Image<uint32_t>::open (output_path);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/fixel/helpers.h:362:39:  [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).
      Header in_data_header = Header::open (input_file);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/fixel/legacy/image.h:101:59:  [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).
            ::MR::Image<uint64_t> (::MR::Image<uint64_t>::open (image_name)), io (nullptr) { check(); }
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mgz.cpp:55: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 (gz_handler->header(), mgh_header.c_str(), mgh_header.size());
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mgz.cpp:56: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 (gz_handler->tailer(), mgh_tailer.str().c_str(), mgh_tailer.str().size());
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mgz.cpp:88: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 (gz_handler->header(), mgh_header.str().c_str(), mgh_header.str().size());
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mgz.cpp:89: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 (gz_handler->tailer(), mgh_tailer.str().c_str(), mgh_tailer.str().size());
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mri.cpp:302: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 order[4];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mrtrix_gz.cpp:58: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 (io_handler.get()->header(), header.str().c_str(), header.str().size());
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mrtrix_gz.cpp:99: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 (io_handler->header(), header.str().c_str(), offset);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/nifti1_gz.cpp:44: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 (io_handler.get()->header(), &NH, File::NIfTI1::header_size);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/nifti2_gz.cpp:44: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 (io_handler.get()->header(), &NH, File::NIfTI2::header_size);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/header.cpp:91: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).
  Header Header::open (const std::string& image_name)
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/header.cpp:395:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char buf[14], buf2[14];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/header.h:330:21:  [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).
      static Header open (const std::string& image_name);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image.h:184: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).
        static Image open (const std::string& image_name, bool read_write_if_existing = false) {
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image.h:185:26:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
          return Header::open (image_name).get_image<ValueType> (read_write_if_existing);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image.h:318: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).
        io->open (*this, footprint<ValueType> (voxel_count (*this)));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image.h:479: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).
        out.open (data_filename, std::ios::out | std::ios::binary); 
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_helpers.h:130: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.
      typedef char yes[1], no[2];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_helpers.h:156: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.
      typedef char yes[1], no[2];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/base.cpp:36:16:  [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 Base::open (const Header& header, size_t buffer_size)
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/base.h:58:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        void open (const Header& header, size_t buffer_size = 0);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/default.cpp:104: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 (addresses[0].get() + n*bytes_per_segment, file.address(), bytes_per_segment);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/mosaic.cpp:55: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 (data, file.address() + header.datatype().bytes() * (ox + m_xdim* (y+oy)), xdim * header.datatype().bytes());
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/sparse.cpp:119: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 (off2mem(old_offset), &numel, sizeof(uint32_t));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/sparse.cpp:168: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 (off2mem(data_end), &numel, sizeof(uint32_t));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/math/math.h:109:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    typedef char yes[1], no[2];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/signal_handler.cpp:70:11:  [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 str[256];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/stride.cpp:87:31:  [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).
        auto header = Header::open (std::string(opt[0][0]));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/connectome.cpp:42:35:  [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).
        auto test = Image<float>::open (H.name());
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/connectome.cpp:52:37:  [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).
        auto test = Image<int64_t>::open (H.name());
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/lut.cpp:236: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 [80];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/lut.cpp:247: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 [80];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/lut.cpp:257: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 short_name[20], name [80];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/lut.cpp:271: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 [80];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/connectome/lut.cpp:282: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 short_name[20], name[80];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/fixel_map.h:110: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 (lookup_table, &in.lut[0], in.lut.size() * sizeof (uint8_t));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/ACT/shared.h:37:36:  [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).
              voxel (Image<float>::open (path)),
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/GT/gt.h:86: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).
            out.open(file.c_str(), std::ofstream::out);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/proc_mask.cpp:51:40:  [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).
            auto image = Image<float>::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT/proc_mask.cpp:60:43:  [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).
              auto in_5tt = Image<float>::open (opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/SIFT2/tckfactor.cpp:221: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).
          csv_out->open (csv_path.c_str(), std::ios_base::trunc);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/file.h:75: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).
              open (file, "tracks", properties);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/file.h:235: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).
              out.open (name, std::ios::out | std::ios::binary | std::ios::trunc);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/file_base.cpp:24:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
      void __ReaderBase__::open (const std::string& file, const std::string& type, Properties& properties)
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/file_base.cpp:77: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).
        in.open (fname.c_str(), std::ios::in | std::ios::binary);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/file_base.h:47:16:  [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 (const std::string& file, const std::string& firstline, Properties& properties);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/buffer_scratch_dump.h:133:23:  [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).
              out_dat.open (path, std::ios_base::out | std::ios_base::binary | std::ios_base::app);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/buffer_scratch_dump.h:135:23:  [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).
              out_dat.open (dat_path, std::ios_base::out | std::ios_base::binary | std::ios_base::trunc);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/mapping/mapper_plugins.h:74:39:  [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).
                interp (Image<float>::open (input_image).with_direct_io()),
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/roi.cpp:76:34:  [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).
        auto data = Image<bool>::open (name);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/scalar_file.h:73: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).
            open (file, "track scalars", properties);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/scalar_file.h:184: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).
              out.open (name, std::ios::out | std::ios::binary | std::ios::trunc);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/seeding/basic.cpp:150:36:  [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).
          auto vox = Image<float>::open (in);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/seeding/dynamic.h:190:44:  [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).
            interp_template (Image<float>::open (path)),
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/seeding/gmwmi.h:44:42:  [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).
                anat_data (Image<float>::open (path)) { }
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/tracking/exec.h:82:47:  [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).
                auto fod_data = Image<float>::open (fod_path);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/tracking/shared.cpp:31:35:  [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).
            source (Image<float>::open (diff_path).with_direct_io (3)),
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/tracking/shared.cpp:48:35:  [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).
          , debug_header (Header::open (properties.find ("act") == properties.end() ? diff_path : properties["act"])),
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/connectome/connectome.cpp:2226:38:  [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).
          MR::Header H = MR::Header::open (path);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/fixel/base_fixel.cpp:29:31:  [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).
          header (MR::Header::open (filename)),
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/fixel/directory.cpp:100:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
          auto H = Header::open (data_filepath);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/odf/model.cpp:39:66:  [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).
              auto header = make_unique<MR::Header> (MR::Header::open (list[i]));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/overlay.cpp:206:66:  [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).
            list.push_back (make_unique<MR::Header> (MR::Header::open (overlay_names[n])));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/overlay.cpp:238:70:  [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).
                list.push_back (make_unique<MR::Header> (MR::Header::open (urlList.at (i).path().toUtf8().constData())));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/overlay.cpp:726:72:  [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).
            try { list.push_back (make_unique<MR::Header> (MR::Header::open (opt[0]))); }
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/roi_editor/roi.cpp:300:66:  [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).
            list.push_back (make_unique<MR::Header> (MR::Header::open (names[n])));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/roi_editor/roi.cpp:320:70:  [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).
                list.push_back (make_unique<MR::Header> (MR::Header::open (urlList.at (i).path().toUtf8().constData())));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/tool/roi_editor/roi.cpp:901:72:  [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).
            try { list.push_back (make_unique<MR::Header> (MR::Header::open (opt[0]))); }
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/window.cpp:152:68:  [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).
              list.push_back (make_unique<MR::Header> (MR::Header::open (urlList.at (i).path().toUtf8().constData())));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/window.cpp:747:72:  [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).
            try { list.push_back (make_unique<MR::Header> (MR::Header::open (MR::App::argument[n]))); }
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/window.cpp:806:66:  [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).
            list.push_back (make_unique<MR::Header> (MR::Header::open (image_list[n])));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/window.cpp:826:64:  [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).
          list.push_back (make_unique<MR::Header> (MR::Header::open (folder)));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/mrview/window.cpp:1917:72:  [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).
            try { list.push_back (make_unique<MR::Header> (MR::Header::open (opt[0]))); }
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/min_mem_array.h:74: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 (d, that.d, n * sizeof (T));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/min_mem_array.h:86: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 (new_data, d, n * sizeof (T));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/min_mem_array.h:171: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 (d, that.d, n * sizeof (T));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:134: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).
        in.open (path.c_str(), std::ios_base::in | std::ios_base::binary);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:260: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 init[6];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:268: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).
        in.open (path.c_str(), std::ios_base::in | std::ios_base::binary);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:269:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char header[80];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:585: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).
        out.open (path, std::ios_base::out | std::ios_base::app | std::ios_base::binary);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:659:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char header[80];
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/cmd/testing_diff_fixel.cpp:57: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).
    auto in1 = Image<cdouble>::open (Path::join (fixel_directory1, fname));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/cmd/testing_diff_fixel.cpp:61: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).
    auto in2 = Image<cdouble>::open (filename2);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/cmd/testing_diff_image.cpp:44:30:  [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).
  auto in1 = Image<cdouble>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/cmd/testing_diff_image.cpp:45:30:  [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).
  auto in2 = Image<cdouble>::open (argument[1]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/cmd/testing_diff_peaks.cpp:42: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).
  auto in1 = Image<double>::open (argument[0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/cmd/testing_diff_peaks.cpp:43: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).
  auto in2 = Image<double>::open (argument[1]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/testing/src/diff_images.h:61:47:  [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).
        auto tolerance = Image<default_type>::open (image_opt[0][0]);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dcmedit.cpp:128:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  while (item.read()) {
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dcminfo.cpp:76:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    while (item.read()) {
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/dcminfo.cpp:91:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  if (reader.read (argument[0], get_options ("all").size(), get_options ("csa").size(), true))
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckconvert.cpp:174:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          input.read((char*) points, 3*number_of_points * sizeof(float) );
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckconvert.cpp:185:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            input.read((char*) lines, number_of_line_indices * sizeof(int) );
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckresample.cpp:114:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  Reader<value_type> read (argument[0], properties);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/cmd/tckresample.cpp:140:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  Thread::run_queue (read,
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/app.cpp:804:71:  [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).
          s += OPTIONS[n].name + std::string("\n") + std::string(std::strlen(OPTIONS[n].name), '^') + "\n\n";
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/command.h:71:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(*output, s.c_str(), s.size()+1);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/csa_entry.h:59:15:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
              strncpy (name, (const char*) start, 64);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/csa_entry.h:61:15:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
              strncpy (vr, (const char*) start+68, 4);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/element.cpp:151:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      bool Element::read ()
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/element.h:106:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          bool read ();
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/image.cpp:309:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      void Image::read ()
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/image.cpp:315:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          while (item.read()){
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/image.h:143:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          void read ();
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/mapper.cpp:55:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            series_it->read();
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/quick_scan.cpp:28:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      bool QuickScan::read (const std::string& file_name, bool print_DICOM_fields, bool print_CSA_fields, bool force_read)
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/quick_scan.cpp:54:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            while (item.read()) {
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/quick_scan.h:29:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          bool read (const std::string& file_name, bool print_DICOM_fields = false, bool print_CSA_fields = false, bool force_read = false);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/series.h:46:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          void read () {
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/series.h:49:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
              (*this)[i]->read(); 
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/tree.cpp:88:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (reader.read (filename)) {
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/tree.cpp:117:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      void Tree::read (const std::string& filename)
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/dicom/tree.h:32:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          void read (const std::string& filename);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/gz.h:99:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        int read (char* s, size_t n) {
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/gz.h:139:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          if (read (&val, sizeof (T)) != sizeof (T))
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/gz.h:150:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          if (read (buf, n*sizeof (T)) != n*sizeof (T))
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/json.h:8835:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        virtual std::string read(size_t offset, size_t length) = 0;
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/json.h:8868:32:  [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).
                          std::strlen(reinterpret_cast<const char*>(b)));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/json.h:8980:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        std::string read(size_t offset, size_t length) override
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/json.h:8995:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            is.read(&result[0], static_cast<std::streamsize>(length));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/json.h:9009:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            is.read(buffer.data(), static_cast<std::streamsize>(buffer.size()));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/json.h:9064:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        std::string read(size_t offset, size_t length) override
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/json.h:12483:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            std::string s = ia->read(start_pos, chars_read - start_pos);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/key_value.cpp:36:30:  [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).
        if (sbuf.compare (0, strlen (first_line), first_line)) {
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:82:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          in.read (reinterpret_cast<char*> (&value), sizeof (ValueType));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:273:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read (buffer, MGH_MATRIX_STRLEN);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:316:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
              in.read (frame.name, MGH_STRLEN);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:381:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
              in.read (buffer, empty_space_len);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:396:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read (const_cast<char*> (filename.data()), filename_length);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:402:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
              in.read (const_cast<char*> (structurename.data()), structurename_length);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:423:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read (const_cast<char*> (filename.data()), filename_length);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:437:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
              in.read (const_cast<char*> (structurename.data()), structurename_length);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:498:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                  in.read (const_cast<char*> (content.data()), size);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:503:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                  in.read (const_cast<char*> (content.data()), size);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:517:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                  in.read (const_cast<char*> (content.data()), size);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mgh.h:534:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                  in.read (const_cast<char*> (content.data()), size);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/mmap.cpp:142:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read ((char*) first, msize);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1_utils.cpp:32:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      size_t read (Header& H, const nifti_1_header& NH)
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1_utils.cpp:48:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy (db_name, NH.db_name, 18);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1_utils.cpp:155:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy (descrip, NH.descrip, 80);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1_utils.cpp:301:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy ( (char*) &NH.db_name, comments.size() ? comments[0].c_str() : "untitled\0\0\0\0\0\0\0\0\0\0\0", 18);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1_utils.cpp:400:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy ( (char*) &NH.descrip, version_string.c_str(), 79);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1_utils.cpp:442:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy ( (char*) &NH.magic, single_file ? "n+1\0" : "ni1\0", 4);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti1_utils.h:33:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      size_t read (Header& H, const nifti_1_header& NH);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2_utils.cpp:33:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      size_t read (Header& H, const nifti_2_header& NH)
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2_utils.cpp:146:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy (descrip, NH.descrip, 80);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2_utils.cpp:266:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy ( (char*) &NH.magic, single_file ? "n+2\0" : "ni2\0", 4);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2_utils.cpp:267:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy ( (char*) &NH.magic+4, signature_extra, 4);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2_utils.cpp:359:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy ( (char*) &NH.descrip, version_string.c_str(), 79);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/file/nifti2_utils.h:34:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      size_t read (Header& H, const nifti_2_header& NH);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/analyse.cpp:30:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<ImageIO::Base> Analyse::read (Header& H) const
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/analyse.cpp:38:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        File::NIfTI1::read (H, * ( (const nifti_1_header*) fmap.address()));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/dicom.cpp:31:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<ImageIO::Base> DICOM::read (Header& H) const
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/dicom.cpp:39:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      dicom.read (H.name());
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/list.h:25:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      virtual std::unique_ptr<ImageIO::Base> read (Header& H) const; \
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/list.h:61:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        virtual std::unique_ptr<ImageIO::Base> read (Header& H) const = 0;
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mgh.cpp:30:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<ImageIO::Base> MGH::read (Header& H) const
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mgz.cpp:32:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<ImageIO::Base> MGZ::read (Header& H) const
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mgz.cpp:39:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      in.read (reinterpret_cast<char*> (&mgh_header[0]), MGH_DATA_OFFSET);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mri.cpp:163:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<ImageIO::Base> MRI::read (Header& H) const
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mrtrix.cpp:39:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<ImageIO::Base> MRtrix::read (Header& H) const
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mrtrix_gz.cpp:30:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      std::unique_ptr<ImageIO::Base> MRtrix_GZ::read (Header& H) const
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/mrtrix_sparse_legacy.cpp:43:51:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<ImageIO::Base> MRtrix_sparse::read (Header& H) const
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/nifti1.cpp:30:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<ImageIO::Base> NIfTI1::read (Header& H) const
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/nifti1.cpp:37:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        const size_t data_offset = File::NIfTI1::read (H, * ( (const nifti_1_header*) fmap.address()));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/nifti1_gz.cpp:31:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<ImageIO::Base> NIfTI1_GZ::read (Header& H) const
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/nifti1_gz.cpp:38:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      zf.read (reinterpret_cast<char*> (&NH), File::NIfTI1::header_size);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/nifti1_gz.cpp:42:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        const size_t data_offset = File::NIfTI1::read (H, NH);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/nifti2.cpp:31:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<ImageIO::Base> NIfTI2::read (Header& H) const
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/nifti2.cpp:43:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        const size_t data_offset = File::NIfTI2::read (H, * ( (const nifti_2_header*) fmap.address()));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/nifti2_gz.cpp:32:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<ImageIO::Base> NIfTI2_GZ::read (Header& H) const
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/nifti2_gz.cpp:39:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      zf.read (reinterpret_cast<char*> (&NH), File::NIfTI2::header_size);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/nifti2_gz.cpp:41:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      const size_t data_offset = File::NIfTI2::read (H, NH);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/pipe.cpp:28:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<ImageIO::Base> Pipe::read (Header& H) const
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/pipe.cpp:48:71:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      std::unique_ptr<ImageIO::Base> original_handler (mrtrix_handler.read (H));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/ram.cpp:28:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<ImageIO::Base> RAM::read (Header& H) const
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/tiff.cpp:32:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::unique_ptr<ImageIO::Base> TIFF::read (Header& H) const
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/formats/xds.cpp:29:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      std::unique_ptr<ImageIO::Base> XDS::read (Header& H) const
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/header.cpp:109:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if ( (H.io = (*format_handler)->read (H)) )
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/header.cpp:123:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (!(io_handler = (*format_handler)->read (header)))
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/gz.cpp:58:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            zf.read (reinterpret_cast<char*> (address), BYTES_PER_ZCALL);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/image_io/gz.cpp:63:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          zf.read (reinterpret_cast<char*> (address), last - address);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/thread_queue.h:498:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                FORCE_INLINE bool read () {
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/thread_queue.h:695:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                FORCE_INLINE bool read () {
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/thread_queue.h:697:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    return batch_item.read();
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/thread_queue.h:700:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    if (!batch_item.read())
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/thread_queue.h:771:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                 do { if (!in.read()) return; }
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/core/thread_queue.h:792:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
               while (in.read()) {
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/file.h:150:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    in.read ((char*) p, sizeof (p));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/file.h:156:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    in.read ((char*) p, sizeof (p));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/file.h:162:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    in.read ((char*) p, sizeof (p));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/file.h:168:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    in.read ((char*) p, sizeof (p));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/scalar_file.h:113:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                in.read ((char*) &val, sizeof (val));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/scalar_file.h:119:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                in.read ((char*) &val, sizeof (val));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/scalar_file.h:125:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                in.read ((char*) &val, sizeof (val));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/dwi/tractography/scalar_file.h:131:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                in.read ((char*) &val, sizeof (val));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/gui/opengl/shader.cpp:45:17:  [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).
            if (strlen (log)) 
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/freesurfer.cpp:63:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          in.read (orig_lut_name.get(), orig_lut_name_length);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/freesurfer.cpp:67:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read (struct_name.get(), struct_name_length);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/freesurfer.cpp:86:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          in.read (orig_lut_name.get(), orig_lut_name_length);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/freesurfer.cpp:97:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read (struct_name.get(), struct_name_length);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/freesurfer.h:47:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          stream.read (reinterpret_cast<char*>(bytes+i), 1);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/freesurfer.h:57:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        stream.read (reinterpret_cast<char*>(&temp), sizeof(T));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:148:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read (&c, sizeof (char));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:177:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                  in.read (reinterpret_cast<char*>(&data[0]), 3 * sizeof (double));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:181:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                  in.read (reinterpret_cast<char*>(&data[0]), 3 * sizeof (float));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:205:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                in.read (reinterpret_cast<char*>(&vertex_count), sizeof (int));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:220:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                  in.read (reinterpret_cast<char*>(&t[index]), sizeof (int));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:270:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read (header, 80);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:273:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read (reinterpret_cast<char*>(&count), sizeof(uint32_t));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:280:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        while (in.read (reinterpret_cast<char*>(normal.data()), 3 * sizeof(float))) {
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:282:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            if (!in.read (reinterpret_cast<char*>(vertex.data()), 3 * sizeof(float)))
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:286:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          in.read (reinterpret_cast<char*>(&attribute_byte_count), sizeof(uint16_t));
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:515:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read (&c, 1);
data/mrtrix3-3.0~rc3+git135-g2b8e7d0c2/src/surface/mesh.cpp:660:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy (header, string.c_str(), 80);

ANALYSIS SUMMARY:

Hits = 465
Lines analyzed = 171037 in approximately 4.61 seconds (37110 lines/second)
Physical Source Lines of Code (SLOC) = 117168
Hits@level = [0]  73 [1] 127 [2] 305 [3]  11 [4]  22 [5]   0
Hits@level+ = [0+] 538 [1+] 465 [2+] 338 [3+]  33 [4+]  22 [5+]   0
Hits/KSLOC@level+ = [0+] 4.5917 [1+] 3.96866 [2+] 2.88475 [3+] 0.281647 [4+] 0.187765 [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.