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.