[Scummvm-git-logs] scummvm master -> 54d7336d0886d0a9960baba71168c3471cdb84c6

eriktorbjorn eriktorbjorn at telia.com
Mon Aug 27 06:44:14 CEST 2018


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
54d7336d08 AUDIO: Free strings with delete[] instead of free()


Commit: 54d7336d0886d0a9960baba71168c3471cdb84c6
    https://github.com/scummvm/scummvm/commit/54d7336d0886d0a9960baba71168c3471cdb84c6
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2018-08-27T06:43:47+02:00

Commit Message:
AUDIO: Free strings with delete[] instead of free()

Because scumm_strdup(), unlike strdup(), allocates strings with
new, not malloc(). (CID 1395228, 1395233, 1395235, 1395236)

Changed paths:
    audio/softsynth/fluidsynth.cpp


diff --git a/audio/softsynth/fluidsynth.cpp b/audio/softsynth/fluidsynth.cpp
index 5c14f33..4034b2f 100644
--- a/audio/softsynth/fluidsynth.cpp
+++ b/audio/softsynth/fluidsynth.cpp
@@ -87,18 +87,21 @@ MidiDriver_FluidSynth::MidiDriver_FluidSynth(Audio::Mixer *mixer)
 		_outputRate = 96000;
 }
 
+// The string duplication below is there only because older versions (1.1.6
+// and earlier?) of FluidSynth expected the string parameters to be non-const.
+
 void MidiDriver_FluidSynth::setInt(const char *name, int val) {
 	char *name2 = scumm_strdup(name);
 
 	fluid_settings_setint(_settings, name2, val);
-	free(name2);
+	delete[] name2;
 }
 
 void MidiDriver_FluidSynth::setNum(const char *name, double val) {
 	char *name2 = scumm_strdup(name);
 
 	fluid_settings_setnum(_settings, name2, val);
-	free(name2);
+	delete[] name2;
 }
 
 void MidiDriver_FluidSynth::setStr(const char *name, const char *val) {
@@ -106,8 +109,8 @@ void MidiDriver_FluidSynth::setStr(const char *name, const char *val) {
 	char *val2 = scumm_strdup(val);
 
 	fluid_settings_setstr(_settings, name2, val2);
-	free(name2);
-	free(val2);
+	delete[] name2;
+	delete[] val2;
 }
 
 int MidiDriver_FluidSynth::open() {





More information about the Scummvm-git-logs mailing list