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/mriconvert-2.1.0/AchievaDtiHandler.cpp
Examining data/mriconvert-2.1.0/AnalyzeOptionsDlg.cpp
Examining data/mriconvert-2.1.0/AnalyzeOutputter.cpp
Examining data/mriconvert-2.1.0/AnalyzeVolume.cpp
Examining data/mriconvert-2.1.0/Basic3DOutputter.cpp
Examining data/mriconvert-2.1.0/BasicOptionsDlg.cpp
Examining data/mriconvert-2.1.0/BasicVolumeFormat.cpp
Examining data/mriconvert-2.1.0/BvFiles.cpp
Examining data/mriconvert-2.1.0/BvOptionsDlg.cpp
Examining data/mriconvert-2.1.0/Converter.cpp
Examining data/mriconvert-2.1.0/DicomElement.cpp
Examining data/mriconvert-2.1.0/DicomElementInstance.cpp
Examining data/mriconvert-2.1.0/DicomFile.cpp
Examining data/mriconvert-2.1.0/DicomTag.cpp
Examining data/mriconvert-2.1.0/DicomTree.cpp
Examining data/mriconvert-2.1.0/DicomViewer.cpp
Examining data/mriconvert-2.1.0/Dictionary.cpp
Examining data/mriconvert-2.1.0/EnhancedMrHandler.cpp
Examining data/mriconvert-2.1.0/FslNiftiOutputter.cpp
Examining data/mriconvert-2.1.0/GeDti2Handler.cpp
Examining data/mriconvert-2.1.0/GeDtiRbHandler.cpp
Examining data/mriconvert-2.1.0/GeEpiHandler.cpp
Examining data/mriconvert-2.1.0/Globals.cpp
Examining data/mriconvert-2.1.0/HandlerFactory.cpp
Examining data/mriconvert-2.1.0/ImageView.cpp
Examining data/mriconvert-2.1.0/InfoFrame.cpp
Examining data/mriconvert-2.1.0/jcsTree.cpp
Examining data/mriconvert-2.1.0/MainHeader.cpp
Examining data/mriconvert-2.1.0/McFrame.cpp
Examining data/mriconvert-2.1.0/McPanel.cpp
Examining data/mriconvert-2.1.0/McVerter.cpp
Examining data/mriconvert-2.1.0/MessageList.cpp
Examining data/mriconvert-2.1.0/MetaHeader.cpp
Examining data/mriconvert-2.1.0/MetaOptionsDlg.cpp
Examining data/mriconvert-2.1.0/MRIConvert.cpp
Examining data/mriconvert-2.1.0/NewBvOutputter.cpp
Examining data/mriconvert-2.1.0/NewMetaOutputter.cpp
Examining data/mriconvert-2.1.0/NewMetaVolume.cpp
Examining data/mriconvert-2.1.0/NewSpmOutputter.cpp
Examining data/mriconvert-2.1.0/NewSpmVolume.cpp
Examining data/mriconvert-2.1.0/NiftiOptionsDlg.cpp
Examining data/mriconvert-2.1.0/NiftiOutputterBase.cpp
Examining data/mriconvert-2.1.0/NiftiOutputter.cpp
Examining data/mriconvert-2.1.0/NiftiVolume.cpp
Examining data/mriconvert-2.1.0/NoOptionsDlg.cpp
Examining data/mriconvert-2.1.0/NumarisMosaicHandler.cpp
Examining data/mriconvert-2.1.0/OutputFactory.cpp
Examining data/mriconvert-2.1.0/OutputList.cpp
Examining data/mriconvert-2.1.0/OutputterBase.cpp
Examining data/mriconvert-2.1.0/OutputTreeNew.cpp
Examining data/mriconvert-2.1.0/OverrideDlg.cpp
Examining data/mriconvert-2.1.0/OverwriteDlg.cpp
Examining data/mriconvert-2.1.0/Preamble.cpp
Examining data/mriconvert-2.1.0/SeriesHandler.cpp
Examining data/mriconvert-2.1.0/SpmOptionsDlg.cpp
Examining data/mriconvert-2.1.0/StringConvert.cpp
Examining data/mriconvert-2.1.0/SyngoHandler.cpp
Examining data/mriconvert-2.1.0/SyngoMosaicHandler.cpp
Examining data/mriconvert-2.1.0/TextFileViewer.cpp
Examining data/mriconvert-2.1.0/ValueRepresentations.cpp
Examining data/mriconvert-2.1.0/Volume.cpp
Examining data/mriconvert-2.1.0/AchievaDtiHandler.h
Examining data/mriconvert-2.1.0/AnalyzeOptionsDlg.h
Examining data/mriconvert-2.1.0/AnalyzeOutputter.h
Examining data/mriconvert-2.1.0/AnalyzeVolume.h
Examining data/mriconvert-2.1.0/Basic3DOutputter.h
Examining data/mriconvert-2.1.0/BasicOptionsDlg.h
Examining data/mriconvert-2.1.0/BasicVolumeFormat.h
Examining data/mriconvert-2.1.0/BvFiles.h
Examining data/mriconvert-2.1.0/BvOptionsDlg.h
Examining data/mriconvert-2.1.0/ByteSwap.h
Examining data/mriconvert-2.1.0/ConfigValues.h
Examining data/mriconvert-2.1.0/Converter.h
Examining data/mriconvert-2.1.0/DicomDictionary.h
Examining data/mriconvert-2.1.0/DicomElement.h
Examining data/mriconvert-2.1.0/DicomElementInstance.h
Examining data/mriconvert-2.1.0/DicomFile.h
Examining data/mriconvert-2.1.0/DicomTag.h
Examining data/mriconvert-2.1.0/DicomTags.h
Examining data/mriconvert-2.1.0/DicomTree.h
Examining data/mriconvert-2.1.0/DicomViewer.h
Examining data/mriconvert-2.1.0/Dictionary.h
Examining data/mriconvert-2.1.0/EnhancedMrHandler.h
Examining data/mriconvert-2.1.0/ExciteDictionary.h
Examining data/mriconvert-2.1.0/fileformats.h
Examining data/mriconvert-2.1.0/FslNiftiOutputter.h
Examining data/mriconvert-2.1.0/GeDti2Handler.h
Examining data/mriconvert-2.1.0/GeDtiRbHandler.h
Examining data/mriconvert-2.1.0/GeEpiHandler.h
Examining data/mriconvert-2.1.0/Globals.h
Examining data/mriconvert-2.1.0/HandlerFactory.h
Examining data/mriconvert-2.1.0/ImageView.h
Examining data/mriconvert-2.1.0/InfoFrame.h
Examining data/mriconvert-2.1.0/jcsTree.h
Examining data/mriconvert-2.1.0/MainHeader.h
Examining data/mriconvert-2.1.0/McFrame.h
Examining data/mriconvert-2.1.0/McPanel.h
Examining data/mriconvert-2.1.0/McVerter.h
Examining data/mriconvert-2.1.0/MessageList.h
Examining data/mriconvert-2.1.0/MetaHeader.h
Examining data/mriconvert-2.1.0/MetaOptionsDlg.h
Examining data/mriconvert-2.1.0/metaTypes.h
Examining data/mriconvert-2.1.0/MRIConvert.h
Examining data/mriconvert-2.1.0/NewBvOutputter.h
Examining data/mriconvert-2.1.0/NewMetaOutputter.h
Examining data/mriconvert-2.1.0/NewMetaVolume.h
Examining data/mriconvert-2.1.0/NewSpmOutputter.h
Examining data/mriconvert-2.1.0/NewSpmVolume.h
Examining data/mriconvert-2.1.0/nifti1.h
Examining data/mriconvert-2.1.0/NiftiOptionsDlg.h
Examining data/mriconvert-2.1.0/NiftiOutputterBase.h
Examining data/mriconvert-2.1.0/NiftiOutputter.h
Examining data/mriconvert-2.1.0/NiftiVolume.h
Examining data/mriconvert-2.1.0/NoOptionsDlg.h
Examining data/mriconvert-2.1.0/NumarisDictionary.h
Examining data/mriconvert-2.1.0/NumarisMosaicHandler.h
Examining data/mriconvert-2.1.0/OutputFactory.h
Examining data/mriconvert-2.1.0/OutputList.h
Examining data/mriconvert-2.1.0/OutputterBase.h
Examining data/mriconvert-2.1.0/OutputTreeNew.h
Examining data/mriconvert-2.1.0/OverrideDlg.h
Examining data/mriconvert-2.1.0/OverwriteDlg.h
Examining data/mriconvert-2.1.0/PhilipsDictionary.h
Examining data/mriconvert-2.1.0/Preamble.h
Examining data/mriconvert-2.1.0/ReadStream.h
Examining data/mriconvert-2.1.0/resource.h
Examining data/mriconvert-2.1.0/SeriesHandler.h
Examining data/mriconvert-2.1.0/SpmOptionsDlg.h
Examining data/mriconvert-2.1.0/StringConvert.h
Examining data/mriconvert-2.1.0/SyngoHandler.h
Examining data/mriconvert-2.1.0/SyngoMosaicHandler.h
Examining data/mriconvert-2.1.0/TextFileViewer.h
Examining data/mriconvert-2.1.0/ToshibaDictionary.h
Examining data/mriconvert-2.1.0/ValueRepresentations.h
Examining data/mriconvert-2.1.0/version_string.h
Examining data/mriconvert-2.1.0/Volume.h

FINAL RESULTS:

data/mriconvert-2.1.0/AnalyzeVolume.h:23: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	data_type[10];
data/mriconvert-2.1.0/AnalyzeVolume.h:24: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	db_name[18];
data/mriconvert-2.1.0/AnalyzeVolume.h:56: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	descrip[80];
data/mriconvert-2.1.0/AnalyzeVolume.h:57: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	aux_file[24];
data/mriconvert-2.1.0/AnalyzeVolume.h:59: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	originator[10];
data/mriconvert-2.1.0/AnalyzeVolume.h:60: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	generated[10];
data/mriconvert-2.1.0/AnalyzeVolume.h:61: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	scannum[10];
data/mriconvert-2.1.0/AnalyzeVolume.h:62: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	patient_id[10];
data/mriconvert-2.1.0/AnalyzeVolume.h:63: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	exp_date[10];
data/mriconvert-2.1.0/AnalyzeVolume.h:64: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	exp_time[10];
data/mriconvert-2.1.0/AnalyzeVolume.h:65: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	hist_un0[3];
data/mriconvert-2.1.0/BasicVolumeFormat.cpp:69: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).
    mHeaderFile.open((const char *) mFileName.GetFullPath(), mode);
data/mriconvert-2.1.0/BasicVolumeFormat.cpp:112: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).
      mRawDataFile.open((const char *) mFileName.GetFullPath(), o_mode);
data/mriconvert-2.1.0/BvFiles.cpp:59: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).
  mFile.open(filename.c_str(), mode);
data/mriconvert-2.1.0/BvFiles.cpp:140: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).
  mFile.open(filename.c_str(), mode);
data/mriconvert-2.1.0/BvFiles.cpp:171: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).
  mFile.open(filename.c_str(), mode);
data/mriconvert-2.1.0/DicomElementInstance.h:45: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 value_buff[1024];
data/mriconvert-2.1.0/DicomElementInstance.h:46: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 vr_buff[3];
data/mriconvert-2.1.0/DicomFile.cpp:17: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).
  mInputFile.open((const char *) filename, std::ios::binary);
data/mriconvert-2.1.0/DicomFile.cpp:594: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).
  output.open(filename);
data/mriconvert-2.1.0/DicomViewer.cpp:310: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 char_buffer[64];
data/mriconvert-2.1.0/ImageView.cpp:698: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(new_ptr, old_ptr, rows*columns*sizeof(unsigned char));
data/mriconvert-2.1.0/NewSpmVolume.h:28:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char	data_type[10];
data/mriconvert-2.1.0/NewSpmVolume.h:29: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	db_name[18];
data/mriconvert-2.1.0/NewSpmVolume.h:61: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	descrip[80];
data/mriconvert-2.1.0/NewSpmVolume.h:62: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	aux_file[24];
data/mriconvert-2.1.0/NewSpmVolume.h:65: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	generated[10];
data/mriconvert-2.1.0/NewSpmVolume.h:66: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	scannum[10];
data/mriconvert-2.1.0/NewSpmVolume.h:67: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	patient_id[10];
data/mriconvert-2.1.0/NewSpmVolume.h:68: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	exp_date[10];
data/mriconvert-2.1.0/NewSpmVolume.h:69: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	exp_time[10];
data/mriconvert-2.1.0/NewSpmVolume.h:70:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char	hist_un0[3];
data/mriconvert-2.1.0/NiftiOutputter.h:280:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(mHeader->hdr.magic, "n+1");
data/mriconvert-2.1.0/NiftiOutputter.h:284:7:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
      strcpy(mHeader->hdr.magic, "ni1");
data/mriconvert-2.1.0/Preamble.h:13: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 buff[4];
data/mriconvert-2.1.0/metaTypes.h:85:16:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const unsigned char MET_ValueTypeSize[MET_NUM_VALUE_TYPES] = {
data/mriconvert-2.1.0/metaTypes.h:88: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.
const char MET_ValueTypeName[MET_NUM_VALUE_TYPES][21] = {
data/mriconvert-2.1.0/metaTypes.h:126: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.
const char MET_OrientationTypeName[MET_NUM_ORIENTATION_TYPES][3] = {
data/mriconvert-2.1.0/metaTypes.h:139: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           name[255];  // Fieldname / keyword to designate a variable
data/mriconvert-2.1.0/nifti1.h:142:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
 char  data_type[10]; /*!< ++UNUSED++            */  /* char data_type[10];  */
data/mriconvert-2.1.0/nifti1.h:143:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
 char  db_name[18];   /*!< ++UNUSED++            */  /* char db_name[18];    */
data/mriconvert-2.1.0/nifti1.h:176:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
 char  descrip[80];   /*!< any text you like.    */  /* char descrip[80];    */
data/mriconvert-2.1.0/nifti1.h:177:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
 char  aux_file[24];  /*!< auxiliary filename.   */  /* char aux_file[24];   */
data/mriconvert-2.1.0/nifti1.h:193:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
 char intent_name[16];/*!< 'name' or meaning of data.  */
data/mriconvert-2.1.0/nifti1.h:195:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
 char magic[4] ;      /*!< MUST be "ni1\0" or "n+1\0". */
data/mriconvert-2.1.0/nifti1.h:280:26:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
struct nifti1_extender { char extension[4] ; } ;
data/mriconvert-2.1.0/DicomElementInstance.cpp:31:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      in.read((char *)&(de.value_length), sizeof(de.value_length));
data/mriconvert-2.1.0/DicomElementInstance.cpp:36:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      in.read((char *)&(vl), sizeof(vl));
data/mriconvert-2.1.0/DicomElementInstance.cpp:43:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&(de.value_length), sizeof(de.value_length));
data/mriconvert-2.1.0/DicomElementInstance.cpp:52:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read(de.value_buff, std::min((long unsigned)sizeof(de.value_buff), (long unsigned)n_to_read));
data/mriconvert-2.1.0/DicomFile.cpp:845:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  input.read(reinterpret_cast<char*> (&e.tag.group), 2);
data/mriconvert-2.1.0/DicomFile.cpp:846:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  input.read(reinterpret_cast<char*> (&e.tag.element), 2);
data/mriconvert-2.1.0/DicomFile.cpp:880:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    input.read(reinterpret_cast<char*> (&e.value_length), 
data/mriconvert-2.1.0/DicomFile.cpp:895:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    input.read(reinterpret_cast<char*> (&e.value_length), 
data/mriconvert-2.1.0/DicomFile.cpp:901:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    input.read(reinterpret_cast<char*> (&vl_16), 
data/mriconvert-2.1.0/DicomFile.cpp:929:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    input.read(reinterpret_cast<char*> (&item.value_length), 
data/mriconvert-2.1.0/DicomFile.cpp:950:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      input.read(reinterpret_cast<char*> (&item.value_length), 
data/mriconvert-2.1.0/DicomFile.cpp:1001:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    mInputFile.read(reinterpret_cast<char*> (&item.value_length), 
data/mriconvert-2.1.0/DicomFile.cpp:1023:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      mInputFile.read(reinterpret_cast<char*> (&item.value_length), 
data/mriconvert-2.1.0/DicomFile.cpp:1142:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ss.read(reinterpret_cast<char*> (&item.value_length), sizeof(item.value_length));
data/mriconvert-2.1.0/DicomFile.cpp:1183:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ss.read(reinterpret_cast<char*> (&item.value_length), 
data/mriconvert-2.1.0/DicomTag.cpp:61:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  in.read((char *)&(dt.group), sizeof(dt.group));
data/mriconvert-2.1.0/DicomTag.cpp:62:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  in.read((char *)&(dt.element), sizeof(dt.element));
data/mriconvert-2.1.0/DicomViewer.cpp:312:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  in.read(char_buffer, 64);
data/mriconvert-2.1.0/DicomViewer.cpp:320:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  in.read(reinterpret_cast<char*> (&n_values), 4);
data/mriconvert-2.1.0/DicomViewer.cpp:321:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  in.read(char_buffer, 4);
data/mriconvert-2.1.0/DicomViewer.cpp:328:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  in.read(reinterpret_cast<char*> (&intval1), 4);
data/mriconvert-2.1.0/DicomViewer.cpp:329:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  in.read(reinterpret_cast<char*> (&intval2), 4);
data/mriconvert-2.1.0/DicomViewer.cpp:330:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  in.read(reinterpret_cast<char*> (&intval3), 4);
data/mriconvert-2.1.0/DicomViewer.cpp:338:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read(reinterpret_cast<char*> (&intval1), 4);
data/mriconvert-2.1.0/DicomViewer.cpp:339:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read(reinterpret_cast<char*> (&intval2), 4);
data/mriconvert-2.1.0/DicomViewer.cpp:340:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read(reinterpret_cast<char*> (&intval3), 4);
data/mriconvert-2.1.0/DicomViewer.cpp:341:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read(reinterpret_cast<char*> (&intval4), 4);
data/mriconvert-2.1.0/DicomViewer.cpp:366:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (in.good()) { in.read(reinterpret_cast<char*> (&intval1), 4); }
data/mriconvert-2.1.0/DicomViewer.cpp:367:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (in.good()) { in.read(reinterpret_cast<char*> (&intval2), 4); }
data/mriconvert-2.1.0/DicomViewer.cpp:368:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (in.good()) { in.read(reinterpret_cast<char*> (&intval3), 4); }
data/mriconvert-2.1.0/DicomViewer.cpp:369:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (in.good()) { in.read(reinterpret_cast<char*> (&intval4), 4); }
data/mriconvert-2.1.0/NewSpmVolume.cpp:74:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hk.sizeof_hdr),
data/mriconvert-2.1.0/NewSpmVolume.cpp:85:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hk.sizeof_hdr),
data/mriconvert-2.1.0/NewSpmVolume.cpp:87:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hk.data_type),
data/mriconvert-2.1.0/NewSpmVolume.cpp:89:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hk.db_name),
data/mriconvert-2.1.0/NewSpmVolume.cpp:91:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hk.extents),
data/mriconvert-2.1.0/NewSpmVolume.cpp:93:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hk.session_error),
data/mriconvert-2.1.0/NewSpmVolume.cpp:95:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hk.regular),
data/mriconvert-2.1.0/NewSpmVolume.cpp:97:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hk.hkey_un0),
data/mriconvert-2.1.0/NewSpmVolume.cpp:99:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.dim),
data/mriconvert-2.1.0/NewSpmVolume.cpp:101:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.unused8),
data/mriconvert-2.1.0/NewSpmVolume.cpp:103:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.unused9),
data/mriconvert-2.1.0/NewSpmVolume.cpp:105:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.unused10),
data/mriconvert-2.1.0/NewSpmVolume.cpp:107:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.unused11),
data/mriconvert-2.1.0/NewSpmVolume.cpp:109:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.unused12),
data/mriconvert-2.1.0/NewSpmVolume.cpp:111:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.unused13),
data/mriconvert-2.1.0/NewSpmVolume.cpp:113:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.unused14),
data/mriconvert-2.1.0/NewSpmVolume.cpp:115:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.datatype),
data/mriconvert-2.1.0/NewSpmVolume.cpp:117:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.bitpix),
data/mriconvert-2.1.0/NewSpmVolume.cpp:119:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.dim_un0),
data/mriconvert-2.1.0/NewSpmVolume.cpp:121:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.pixdim),
data/mriconvert-2.1.0/NewSpmVolume.cpp:123:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.vox_offset),
data/mriconvert-2.1.0/NewSpmVolume.cpp:125:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.scale),
data/mriconvert-2.1.0/NewSpmVolume.cpp:127:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.intercept),
data/mriconvert-2.1.0/NewSpmVolume.cpp:129:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.funused3),
data/mriconvert-2.1.0/NewSpmVolume.cpp:131:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.cal_max),
data/mriconvert-2.1.0/NewSpmVolume.cpp:133:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.cal_min),
data/mriconvert-2.1.0/NewSpmVolume.cpp:135:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.compressed),
data/mriconvert-2.1.0/NewSpmVolume.cpp:137:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.verified),
data/mriconvert-2.1.0/NewSpmVolume.cpp:139:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.glmax),
data/mriconvert-2.1.0/NewSpmVolume.cpp:141:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.dime.glmin),
data/mriconvert-2.1.0/NewSpmVolume.cpp:143:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.descrip),
data/mriconvert-2.1.0/NewSpmVolume.cpp:145:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.aux_file),
data/mriconvert-2.1.0/NewSpmVolume.cpp:147:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.orient),
data/mriconvert-2.1.0/NewSpmVolume.cpp:149:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.origin),
data/mriconvert-2.1.0/NewSpmVolume.cpp:151:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.generated),
data/mriconvert-2.1.0/NewSpmVolume.cpp:153:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.scannum),
data/mriconvert-2.1.0/NewSpmVolume.cpp:155:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.patient_id),
data/mriconvert-2.1.0/NewSpmVolume.cpp:157:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.exp_date),
data/mriconvert-2.1.0/NewSpmVolume.cpp:159:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.exp_time),
data/mriconvert-2.1.0/NewSpmVolume.cpp:161:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.hist_un0),
data/mriconvert-2.1.0/NewSpmVolume.cpp:163:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.views),
data/mriconvert-2.1.0/NewSpmVolume.cpp:165:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.vols_added),
data/mriconvert-2.1.0/NewSpmVolume.cpp:167:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.start_field),
data/mriconvert-2.1.0/NewSpmVolume.cpp:169:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.field_skip),
data/mriconvert-2.1.0/NewSpmVolume.cpp:171:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.omax),
data/mriconvert-2.1.0/NewSpmVolume.cpp:173:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.omin),
data/mriconvert-2.1.0/NewSpmVolume.cpp:175:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.smax),
data/mriconvert-2.1.0/NewSpmVolume.cpp:177:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  mHeaderFile.read(reinterpret_cast <char*> (&mHeader.hist.smin),
data/mriconvert-2.1.0/Preamble.cpp:19:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  in.read(p.buff, sizeof(p.buff));
data/mriconvert-2.1.0/ReadStream.h:29:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read(reinterpret_cast<char*> (&value), (length - bytes_read));
data/mriconvert-2.1.0/ReadStream.h:32:12:  [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(value));
data/mriconvert-2.1.0/ValueRepresentations.cpp:231:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&(tmp), sizeof(tmp));
data/mriconvert-2.1.0/ValueRepresentations.cpp:264:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&(tmp), sizeof(tmp));
data/mriconvert-2.1.0/ValueRepresentations.cpp:343:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&(tmp), sizeof(tmp));
data/mriconvert-2.1.0/ValueRepresentations.cpp:377:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&(tmp), sizeof(tmp));
data/mriconvert-2.1.0/ValueRepresentations.cpp:432:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&(tmp), sizeof(tmp));
data/mriconvert-2.1.0/ValueRepresentations.cpp:476:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&(tmp), sizeof(tmp));
data/mriconvert-2.1.0/ValueRepresentations.cpp:542:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&(tmp), sizeof(tmp));
data/mriconvert-2.1.0/ValueRepresentations.cpp:587:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&(tmp), sizeof(tmp));

ANALYSIS SUMMARY:

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