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/libinstpatch-1.1.5/examples/create_sf2.c
Examining data/libinstpatch-1.1.5/examples/split_sfont.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchBase.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchBase.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchContainer.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchContainer.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchContainer_notify.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchConvert_DLS2.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchConvert_DLS2.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchConvert_Gig.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchConvert_Gig.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchConvert_SF2.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchConvert_SF2.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchConvert_SLI.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchConvert_SLI.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchConverter.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchConverter.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchConverterSF2VoiceCache.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchConverterSF2VoiceCache.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchConverter_priv.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLS2.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLS2.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLS2Conn.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLS2Conn.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLS2Info.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLS2Info.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLS2Inst.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLS2Inst.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLS2Region.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLS2Region.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLS2Sample.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLS2Sample.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLSFile.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLSFile.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLSFile_priv.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLSReader.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLSReader.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLSWriter.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchDLSWriter.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchFile.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchFile.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchFileBuf.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGig.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGig.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGigDimension.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGigDimension.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGigEffects.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGigEffects.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGigFile.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGigFile.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGigFile_priv.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGigInst.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGigInst.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGigRegion.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGigRegion.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGigSample.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGigSample.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGigSubRegion.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchGigSubRegion.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchItem.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchItem.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchItemProp.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchIter.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchIter.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchList.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchList.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchParamProp.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchParamProp.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchPaste.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchPaste.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchRange.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchRange.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchRiff.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchRiff.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2File.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2File.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2File_priv.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Gen.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Gen.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2GenItem.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2GenItem.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Gen_tables.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2IZone.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2IZone.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Inst.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Inst.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Mod.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Mod.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2ModItem.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2ModItem.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2ModList.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2ModList.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2PZone.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2PZone.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Preset.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Preset.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Reader.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Reader.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Sample.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Sample.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_DLS.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_DLS.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_Gig.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_Gig.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_SF2.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_SF2.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_SLI.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_SLI.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_VBank.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_VBank.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Writer.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Writer.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Zone.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Zone.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSLI.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSLI.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSLIFile.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSLIFile.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSLIFile_priv.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSLIInst.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSLIInst.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSLIInst_CatMaps.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSLIReader.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSLIReader.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSLISample.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSLISample.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSLIWriter.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSLIWriter.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSLIZone.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSLIZone.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSample.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSample.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleData.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleData.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleList.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleList.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStore.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStore.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreCache.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreCache.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreFile.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreFile.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreRam.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreRam.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreRom.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreRom.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreSndFile.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreSndFile.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreSplit24.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreSplit24.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreSwap.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreSwap.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreVirtual.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreVirtual.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleTransform.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSampleTransform.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSndFile.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchSndFile.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchState.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchState.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchStateGroup.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchStateGroup.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchStateItem.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchStateItem.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchState_types.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchState_types.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchTypeProp.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchTypeProp.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchUnit.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchUnit.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchUnit_DLS.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchUnit_DLS.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchUnit_SF2.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchUnit_SF2.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchUnit_generic.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchUnit_generic.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchVBank.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchVBank.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchVBankInst.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchVBankInst.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchVBankRegion.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchVBankRegion.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchVirtualContainer.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchVirtualContainer.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchVirtualContainer_types.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchVirtualContainer_types.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchXml.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchXml.h
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchXmlObject.c
Examining data/libinstpatch-1.1.5/libinstpatch/IpatchXmlObject.h
Examining data/libinstpatch-1.1.5/libinstpatch/builtin_enums.c
Examining data/libinstpatch-1.1.5/libinstpatch/builtin_enums.h
Examining data/libinstpatch-1.1.5/libinstpatch/compat.c
Examining data/libinstpatch-1.1.5/libinstpatch/compat.h
Examining data/libinstpatch-1.1.5/libinstpatch/gir_prog.c
Examining data/libinstpatch-1.1.5/libinstpatch/i18n.h
Examining data/libinstpatch-1.1.5/libinstpatch/ipatch_priv.h
Examining data/libinstpatch-1.1.5/libinstpatch/md5.c
Examining data/libinstpatch-1.1.5/libinstpatch/md5.h
Examining data/libinstpatch-1.1.5/libinstpatch/misc.c
Examining data/libinstpatch-1.1.5/libinstpatch/misc.h
Examining data/libinstpatch-1.1.5/libinstpatch/sample.c
Examining data/libinstpatch-1.1.5/libinstpatch/sample.h
Examining data/libinstpatch-1.1.5/libinstpatch/util.c
Examining data/libinstpatch-1.1.5/libinstpatch/util.h
Examining data/libinstpatch-1.1.5/tests/sample_list_test.c
Examining data/libinstpatch-1.1.5/tests/sample_test.c
Examining data/libinstpatch-1.1.5/utils/ipatch_convert.c
Examining data/libinstpatch-1.1.5/utils/riff_dump.c

FINAL RESULTS:

data/libinstpatch-1.1.5/libinstpatch/IpatchConvert_SF2.c:337:13:  [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(newtitle + 18, left ? "_L" : "_R");
data/libinstpatch-1.1.5/libinstpatch/IpatchConvert_SF2.c:341:13:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
            strcat(newtitle, left ? "_L" : "_R");
data/libinstpatch-1.1.5/libinstpatch/IpatchDLS2.c:731:5:  [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(curname, name);	/* copy name */
data/libinstpatch-1.1.5/libinstpatch/misc.c:941:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(dest, "%.*s..%.*s%s", len1, src,
data/libinstpatch-1.1.5/utils/ipatch_convert.c:87:17:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define U(text) fprintf (stderr, text);
data/libinstpatch-1.1.5/utils/ipatch_convert.c:51:13:  [3] (buffer) getopt_long:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
        c = getopt_long(argc, argv, "c:o:", long_options, &option_index);
data/libinstpatch-1.1.5/libinstpatch/IpatchContainer_notify.c:225: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(cbarray, old_cbarray, old_max_callbacks * sizeof(ContainerCallback));
data/libinstpatch-1.1.5/libinstpatch/IpatchContainer_notify.c:342: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(cbarray, old_cbarray, old_max_callbacks * sizeof(ContainerCallback));
data/libinstpatch-1.1.5/libinstpatch/IpatchConvert_SF2.c:266: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 newtitle[IPATCH_SFONT_NAME_SIZE + 1];
data/libinstpatch-1.1.5/libinstpatch/IpatchConvert_SF2.c:291:9:  [2] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused). Risk is low because the source is a constant string.
        strcpy(newtitle, _("Untitled"));
data/libinstpatch-1.1.5/libinstpatch/IpatchDLS2.c:753:17:  [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(numptr, "%u", count++);
data/libinstpatch-1.1.5/libinstpatch/IpatchDLSReader.c:2538: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 name[256];		/* just use a static buffer for name */
data/libinstpatch-1.1.5/libinstpatch/IpatchDLSReader.c:2603: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 buf[65], *name;
data/libinstpatch-1.1.5/libinstpatch/IpatchDLSWriter.c:697: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 buf[IPATCH_GIG_ITEM_INAM_SIZE];
data/libinstpatch-1.1.5/libinstpatch/IpatchDLSWriter.c:2179: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 name[IPATCH_GIG_3GNM_SIZE];
data/libinstpatch-1.1.5/libinstpatch/IpatchFile.c:996: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).
    if(log_if_fail(file->iofuncs->open != NULL))
data/libinstpatch-1.1.5/libinstpatch/IpatchFile.c:1016: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).
    retval = file->iofuncs->open(handle, mode, err);
data/libinstpatch-1.1.5/libinstpatch/IpatchFile.h:51: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).
    gboolean(*open)(IpatchFileHandle *handle, const char *mode, GError **err);
data/libinstpatch-1.1.5/libinstpatch/IpatchFileBuf.c:453: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(buf, handle->buf->data + handle->buf_position, size);
data/libinstpatch-1.1.5/libinstpatch/IpatchFileBuf.c:484: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(handle->buf->data + handle->buf_position, buf, size);
data/libinstpatch-1.1.5/libinstpatch/IpatchGigInst.c:124: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(inst->chunk_3ewg, def_3ewg, IPATCH_GIG_3EWG_SIZE);
data/libinstpatch-1.1.5/libinstpatch/IpatchGigInst.c:174: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(dest_inst->chunk_3ewg, src_inst->chunk_3ewg, IPATCH_GIG_3EWG_SIZE);
data/libinstpatch-1.1.5/libinstpatch/IpatchItemProp.c:260: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(cbarray, old_cbarray, old_max_callbacks * sizeof(PropCallback));
data/libinstpatch-1.1.5/libinstpatch/IpatchRiff.c:38:36:  [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 gboolean verify_chunk_idstr(char idstr[4]);
data/libinstpatch-1.1.5/libinstpatch/IpatchRiff.c:624: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(&newchunk.idstr, &newchunk.id, 4);
data/libinstpatch-1.1.5/libinstpatch/IpatchRiff.c:791: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.
verify_chunk_idstr(char idstr[4])
data/libinstpatch-1.1.5/libinstpatch/IpatchRiff.c:890: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(&chunk.idstr, &id, 4);
data/libinstpatch-1.1.5/libinstpatch/IpatchRiff.h:93: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 idstr[4];		/* four character chunk ID string */
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2.c:1315: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 curname[IPATCH_SFONT_NAME_SIZE + 1];
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2File_priv.h:27: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 name[20];		/* preset name */
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2File_priv.h:39: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 name[20];		/* name of instrument */
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2File_priv.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 name[20];		/* sample name */
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Gen.c:276: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, array, sizeof(IpatchSF2GenArray));
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2GenItem.c:377: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(array, genarray, sizeof(IpatchSF2GenArray));
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2ModList.c:124:23:  [2] (buffer) bcopy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    GSList *newlist, *bcopy, *p;
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2ModList.c:153:13:  [2] (buffer) bcopy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        p = bcopy;
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_SF2.c:129: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(&pz, gpz, sizeof(IpatchSF2GenArray));
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_SF2.c:187: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(&voice->gen_array, giz, sizeof(IpatchSF2GenArray));
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_SF2.c:356: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(&voice->gen_array, giz, sizeof(IpatchSF2GenArray));
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_SLI.c:116: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(&voice->gen_array, &zone->genarray, sizeof(IpatchSF2GenArray));
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2VoiceCache_VBank.c:185: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(&g_array_index(cache->ranges, int, voice->range_index),
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Writer.c:1400:5:  [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(phdr.name, "EOP");
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Writer.c:1755:5:  [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(ihdr.name, "EOI");
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Writer.c:2108: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(shdr.name, _("untitled-%d"), ++untitled);    /* i18n: Should be less than 16 chars! */
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Writer.c:2157:5:  [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(shdr.name, "EOS");
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Zone.c:245: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(&dest_zone->genarray, &src_zone->genarray,
data/libinstpatch-1.1.5/libinstpatch/IpatchSLI.c:398: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 curname[IPATCH_SLI_NAME_SIZE + 1];
data/libinstpatch-1.1.5/libinstpatch/IpatchSLIFile_priv.h:69: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 name[24];		/* name of instrument */
data/libinstpatch-1.1.5/libinstpatch/IpatchSLIFile_priv.h:143: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 name[24];		/* sample name */
data/libinstpatch-1.1.5/libinstpatch/IpatchSLIReader.c:198: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 idstr[4];
data/libinstpatch-1.1.5/libinstpatch/IpatchSLIReader.c:200: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(idstr, buf, 4);
data/libinstpatch-1.1.5/libinstpatch/IpatchSLIReader.c:289: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 idstr[4];
data/libinstpatch-1.1.5/libinstpatch/IpatchSLIReader.c:291: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(idstr, &siig.ckid, 4);
data/libinstpatch-1.1.5/libinstpatch/IpatchSLIWriter.c:931: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 sname[IPATCH_SLI_NAME_SIZE];
data/libinstpatch-1.1.5/libinstpatch/IpatchSLIZone.c:629: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(&dest_zone->genarray, &src_zone->genarray,
data/libinstpatch-1.1.5/libinstpatch/IpatchSample.c:951: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).
    if(iface->open)
data/libinstpatch-1.1.5/libinstpatch/IpatchSample.c:953: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).
        if(iface->open(handle, err))
data/libinstpatch-1.1.5/libinstpatch/IpatchSample.c:1233: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(bufptr, outbuf, readbytes);
data/libinstpatch-1.1.5/libinstpatch/IpatchSample.c:1363: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(transbuf, bufptr, writebytes);
data/libinstpatch-1.1.5/libinstpatch/IpatchSample.c:1455: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).
    if(iface->open)
data/libinstpatch-1.1.5/libinstpatch/IpatchSample.c:1457: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).
        return (iface->open(handle, err));
data/libinstpatch-1.1.5/libinstpatch/IpatchSample.h:121: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).
    IpatchSampleHandleOpenFunc open;
data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreCache.c:218: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(buf, &((gint8 *)(store->location))[offset * frame_size],
data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreCache.c:235: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(&((gint8 *)(store->location))[offset * frame_size], buf,
data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreRam.c:191: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(buf, &((gint8 *)(store->location))[offset * frame_size],
data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreRam.c:208: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(&((gint8 *)(store->location))[offset * frame_size], buf,
data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreSwap.c:438: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(buf, ((guint8 *)store->ram_location) + offset * frame_size, frames * frame_size);
data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreSwap.c:479: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(((guint8 *)store->ram_location) + offset * frame_size, buf, frames * frame_size);
data/libinstpatch-1.1.5/libinstpatch/IpatchSampleTransform.c:608: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(dest, src, frames * src_frame_size);
data/libinstpatch-1.1.5/libinstpatch/IpatchUnit.c:196: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, info, sizeof(IpatchUnitInfo));
data/libinstpatch-1.1.5/libinstpatch/IpatchVBank.c:507: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 curname[IPATCH_VBANK_INST_NAME_SIZE + 1];
data/libinstpatch-1.1.5/libinstpatch/IpatchVBank.h:64: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 *info[IPATCH_VBANK_INFO_COUNT];
data/libinstpatch-1.1.5/libinstpatch/md5.c:206: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((guint8 *)ctx->in + 64 - t, buf, len);
data/libinstpatch-1.1.5/libinstpatch/md5.c:211: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((guint8 *)ctx->in + 64 - t, buf, t);
data/libinstpatch-1.1.5/libinstpatch/md5.c:220: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(ctx->in, buf, 64);
data/libinstpatch-1.1.5/libinstpatch/md5.c:228: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(ctx->in, buf, len);
data/libinstpatch-1.1.5/libinstpatch/md5.c:269: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(digest, ctx->buf, 16);
data/libinstpatch-1.1.5/libinstpatch/misc.c:925: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 numstr[16];
data/libinstpatch-1.1.5/libinstpatch/misc.c:929:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(numstr, "%d", num);
data/libinstpatch-1.1.5/libinstpatch/misc.c:963: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 indent_buf[64] = "";
data/libinstpatch-1.1.5/libinstpatch/misc.c:989:5:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
    strcat(indent, "  ");	/* increase indent */
data/libinstpatch-1.1.5/utils/riff_dump.c:47: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 indent_buf[256] = ""; /* indentation buffer */
data/libinstpatch-1.1.5/utils/riff_dump.c:138:5:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
    strcat(indent_buf, "  ");
data/libinstpatch-1.1.5/utils/riff_dump.c:173:17:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
                strcat(indent, "  ");
data/libinstpatch-1.1.5/utils/riff_dump.c:192:17:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
                strcat(indent, "  ");
data/libinstpatch-1.1.5/utils/riff_dump.c:213:17:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
                strcat(indent, "  ");
data/libinstpatch-1.1.5/libinstpatch/IpatchConvert_SF2.c:286:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(newtitle, title, IPATCH_SFONT_NAME_SIZE);
data/libinstpatch-1.1.5/libinstpatch/IpatchConvert_SF2.c:335:12:  [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(newtitle) > 18)
data/libinstpatch-1.1.5/libinstpatch/IpatchDLS2.c:727:11:  [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).
    len = strlen(name);
data/libinstpatch-1.1.5/libinstpatch/IpatchDLS2.c:766:34:  [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).
    curname = g_realloc(curname, strlen(curname) + 1);
data/libinstpatch-1.1.5/libinstpatch/IpatchDLSFile.c:73:15:  [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).
        len = strlen(filename);
data/libinstpatch-1.1.5/libinstpatch/IpatchDLSReader.c:2644:20:  [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).
            size = strlen(buf);
data/libinstpatch-1.1.5/libinstpatch/IpatchDLSWriter.c:576:31:  [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).
                              strlen(bag->value) + 1, err))
data/libinstpatch-1.1.5/libinstpatch/IpatchDLSWriter.c:664:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy(buf, bag->value, size - 1);
data/libinstpatch-1.1.5/libinstpatch/IpatchDLSWriter.c:705:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(buf, bag->value, sizeof(buf) - 1);
data/libinstpatch-1.1.5/libinstpatch/IpatchDLSWriter.c:772:35:  [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).
                                  strlen(IPATCH_GIG_INST_ISFT_VAL), err))
data/libinstpatch-1.1.5/libinstpatch/IpatchDLSWriter.c:2043:35:  [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).
                                  strlen(dim->name) + 1, err))
data/libinstpatch-1.1.5/libinstpatch/IpatchDLSWriter.c:2203:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(name, (char *)(p->data), IPATCH_GIG_3GNM_SIZE);
data/libinstpatch-1.1.5/libinstpatch/IpatchFile.c:1300:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    g_return_val_if_fail(handle->file->iofuncs->read != NULL, G_IO_STATUS_ERROR);
data/libinstpatch-1.1.5/libinstpatch/IpatchFile.c:1305:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    status = handle->file->iofuncs->read(handle, buf, size, &_bytes_read, err);
data/libinstpatch-1.1.5/libinstpatch/IpatchFile.c:1329:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return (handle->file->iofuncs->read(handle, buf, size, &_bytes_read, err)
data/libinstpatch-1.1.5/libinstpatch/IpatchFile.h:53:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    GIOStatus(*read)(IpatchFileHandle *handle, gpointer buf, guint size,
data/libinstpatch-1.1.5/libinstpatch/IpatchGigFile.c:81:11:  [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).
    len = strlen(filename);
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2.c:865:29:  [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(maxlen > 0 && val && strlen(val) > maxlen - 1)
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2File.c:178:15:  [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).
        len = strlen(filename);
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Writer.c:989:11:  [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).
    len = strlen(val) + 1;
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Writer.c:1365:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(phdr.name, preset->name, IPATCH_SFONT_NAME_SIZE);
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Writer.c:1727:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(ihdr.name, inst->name, IPATCH_SFONT_NAME_SIZE);
data/libinstpatch-1.1.5/libinstpatch/IpatchSF2Writer.c:2104:13:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
            strncpy(shdr.name, sample->name, IPATCH_SFONT_NAME_SIZE - 1);
data/libinstpatch-1.1.5/libinstpatch/IpatchSLIFile.c:79:15:  [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).
        len = strlen(filename);
data/libinstpatch-1.1.5/libinstpatch/IpatchSLIWriter.c:535:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(ihdr.name, inst->name, IPATCH_SLI_NAME_SIZE);
data/libinstpatch-1.1.5/libinstpatch/IpatchSLIWriter.c:933:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(sname, sample->name, IPATCH_SLI_NAME_SIZE);
data/libinstpatch-1.1.5/libinstpatch/IpatchSample.c:946:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    handle->read = iface->read;
data/libinstpatch-1.1.5/libinstpatch/IpatchSample.c:1182:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    g_return_val_if_fail(handle->read != NULL, NULL);
data/libinstpatch-1.1.5/libinstpatch/IpatchSample.c:1202:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            if(!handle->read(handle, offset, frames, transbuf, err))
data/libinstpatch-1.1.5/libinstpatch/IpatchSample.c:1224:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            if(!handle->read(handle, offset, readframes, transbuf, err))
data/libinstpatch-1.1.5/libinstpatch/IpatchSample.c:1244:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if(!handle->read(handle, offset, frames, buf, err))
data/libinstpatch-1.1.5/libinstpatch/IpatchSample.c:1450:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    handle->read = iface->read;
data/libinstpatch-1.1.5/libinstpatch/IpatchSample.h:123:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    IpatchSampleHandleReadFunc read;
data/libinstpatch-1.1.5/libinstpatch/IpatchSample.h:134:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    IpatchSampleHandleReadFunc read;    /* Read method pointer (copied from IpatchItem interface) */
data/libinstpatch-1.1.5/libinstpatch/IpatchSampleStoreSwap.c:400:12:  [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(template) > 0)
data/libinstpatch-1.1.5/libinstpatch/IpatchXml.c:765: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).
    len = dot ? dot - path : strlen(path);
data/libinstpatch-1.1.5/libinstpatch/ipatch_priv.h:56:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#define IPATCH_FD_READ(fd, bufdst, count)  read(fd, bufdst, count)
data/libinstpatch-1.1.5/libinstpatch/misc.c:930:14:  [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).
    numlen = strlen(numstr);
data/libinstpatch-1.1.5/libinstpatch/misc.c:931:14:  [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).
    srclen = strlen(src);
data/libinstpatch-1.1.5/libinstpatch/misc.c:1018:12:  [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).
    indent[strlen(indent) - 2] = '\0';  /* decrease indent */
data/libinstpatch-1.1.5/utils/riff_dump.c:194:24:  [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).
                indent[strlen(indent) - 2] = '\0';
data/libinstpatch-1.1.5/utils/riff_dump.c:220:24:  [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).
                indent[strlen(indent) - 2] = '\0';

ANALYSIS SUMMARY:

Hits = 128
Lines analyzed = 82001 in approximately 2.00 seconds (41036 lines/second)
Physical Source Lines of Code (SLOC) = 50842
Hits@level = [0]  83 [1]  42 [2]  80 [3]   1 [4]   5 [5]   0
Hits@level+ = [0+] 211 [1+] 128 [2+]  86 [3+]   6 [4+]   5 [5+]   0
Hits/KSLOC@level+ = [0+] 4.15011 [1+] 2.5176 [2+] 1.69151 [3+] 0.118013 [4+] 0.0983439 [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.