[Scummvm-cvs-logs] scummvm master -> a4d3ad396cddae75791f07ff5e87db788f617e3f
m-kiewitz
m_kiewitz at users.sourceforge.net
Fri Jul 3 00:57:59 CEST 2015
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:
a4d3ad396c AGOS: Accolade music driver: fix memory leak
Commit: a4d3ad396cddae75791f07ff5e87db788f617e3f
https://github.com/scummvm/scummvm/commit/a4d3ad396cddae75791f07ff5e87db788f617e3f
Author: Martin Kiewitz (m_kiewitz at users.sourceforge.net)
Date: 2015-07-03T00:57:25+02:00
Commit Message:
AGOS: Accolade music driver: fix memory leak
in factory
Changed paths:
engines/agos/drivers/accolade/adlib.cpp
engines/agos/drivers/accolade/mt32.cpp
diff --git a/engines/agos/drivers/accolade/adlib.cpp b/engines/agos/drivers/accolade/adlib.cpp
index ed05fe1..11edc7c 100644
--- a/engines/agos/drivers/accolade/adlib.cpp
+++ b/engines/agos/drivers/accolade/adlib.cpp
@@ -872,13 +872,14 @@ MidiDriver *MidiDriver_Accolade_AdLib_create(Common::String driverFilename) {
error("ACCOLADE-ADLIB: error during readDriver()");
MidiDriver_Accolade_AdLib *driver = new MidiDriver_Accolade_AdLib(g_system->getMixer());
- if (!driver)
- return nullptr;
-
- if (!driver->setupInstruments(driverData, driverDataSize, isMusicDrvFile)) {
- delete driver;
- return nullptr;
+ if (driver) {
+ if (!driver->setupInstruments(driverData, driverDataSize, isMusicDrvFile)) {
+ delete driver;
+ driver = nullptr;
+ }
}
+
+ delete[] driverData;
return driver;
}
diff --git a/engines/agos/drivers/accolade/mt32.cpp b/engines/agos/drivers/accolade/mt32.cpp
index 2a02329..319e0eb 100644
--- a/engines/agos/drivers/accolade/mt32.cpp
+++ b/engines/agos/drivers/accolade/mt32.cpp
@@ -264,13 +264,14 @@ MidiDriver *MidiDriver_Accolade_MT32_create(Common::String driverFilename) {
error("ACCOLADE-ADLIB: error during readDriver()");
MidiDriver_Accolade_MT32 *driver = new MidiDriver_Accolade_MT32();
- if (!driver)
- return nullptr;
-
- if (!driver->setupInstruments(driverData, driverDataSize, isMusicDrvFile)) {
- delete driver;
- return nullptr;
+ if (driver) {
+ if (!driver->setupInstruments(driverData, driverDataSize, isMusicDrvFile)) {
+ delete driver;
+ driver = nullptr;
+ }
}
+
+ delete[] driverData;
return driver;
}
More information about the Scummvm-git-logs
mailing list