[Scummvm-git-logs] scummvm master -> 269cd905ed585253b7e372bb415a62072e393463
lephilousophe
noreply at scummvm.org
Sun Feb 23 09:24:56 UTC 2025
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
8b56b2c454 MM: Fix memory leaks in create_xeen
269cd905ed MM: Fix stack limit warning
Commit: 8b56b2c454808fdaf9e7c82a258fbd9360b17065
https://github.com/scummvm/scummvm/commit/8b56b2c454808fdaf9e7c82a258fbd9360b17065
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2025-02-23T10:24:37+01:00
Commit Message:
MM: Fix memory leaks in create_xeen
Changed paths:
devtools/create_mm/create_xeen/de_constants.h
devtools/create_mm/create_xeen/en_constants.h
devtools/create_mm/create_xeen/ru_constants.h
diff --git a/devtools/create_mm/create_xeen/de_constants.h b/devtools/create_mm/create_xeen/de_constants.h
index 7d4b158e9bb..3249d12ecc7 100644
--- a/devtools/create_mm/create_xeen/de_constants.h
+++ b/devtools/create_mm/create_xeen/de_constants.h
@@ -26,7 +26,6 @@
class DE : public LangConstants {
public:
- virtual ~DE() {}
const char *CLOUDS_CREDITS() {
return "\v012\t000\x3"
"c\f35Designed and Directed By:\n"
@@ -2130,6 +2129,20 @@ public:
return _soxm;
}
+ virtual ~DE_KeyConstants() {
+ delete _dci;
+ delete _dcp;
+ delete _dcc;
+ delete _dd;
+ delete _di;
+ delete _dp;
+ delete _dq;
+ delete _dqf;
+ delete _ds;
+ delete _l;
+ delete _soxm;
+ }
+
private:
DE_DialogsCharInfo *_dci = NULL;
DE_DialogsControlPanel *_dcp = NULL;
@@ -2149,6 +2162,9 @@ public:
return _kc;
}
+ virtual ~DE() {
+ delete _kc;
+ }
private:
DE_KeyConstants *_kc = NULL;
};
diff --git a/devtools/create_mm/create_xeen/en_constants.h b/devtools/create_mm/create_xeen/en_constants.h
index e133d804c36..b455eb39222 100644
--- a/devtools/create_mm/create_xeen/en_constants.h
+++ b/devtools/create_mm/create_xeen/en_constants.h
@@ -26,7 +26,6 @@
class EN : public LangConstants {
public:
- virtual ~EN() {}
const char *CLOUDS_CREDITS() {
return "\v012\t000\x3"
"c\f35Designed and Directed By:\n"
@@ -2132,6 +2131,20 @@ public:
return _soxm;
}
+ virtual ~EN_KeyConstants() {
+ delete _dci;
+ delete _dcp;
+ delete _dcc;
+ delete _dd;
+ delete _di;
+ delete _dp;
+ delete _dq;
+ delete _dqf;
+ delete _ds;
+ delete _l;
+ delete _soxm;
+ }
+
private:
EN_DialogsCharInfo *_dci = NULL;
EN_DialogsControlPanel *_dcp = NULL;
@@ -2151,6 +2164,10 @@ public:
return _kc;
}
+ virtual ~EN() {
+ delete _kc;
+ }
+
private:
EN_KeyConstants *_kc = NULL;
};
diff --git a/devtools/create_mm/create_xeen/ru_constants.h b/devtools/create_mm/create_xeen/ru_constants.h
index f0fb49f3c21..ff8bbdf40a8 100644
--- a/devtools/create_mm/create_xeen/ru_constants.h
+++ b/devtools/create_mm/create_xeen/ru_constants.h
@@ -25,7 +25,6 @@
class RU : public LangConstants {
public:
- virtual ~RU() {}
const char *CLOUDS_CREDITS() {
return "\v012\t000\x3" // "\v012\t000\x3"
"c\f35\x88\xA4\xA5\xEF \xA8 \xE0\xE3\xAA\xAE\xA2\xAE\xA4\xE1\xE2\xA2\xAE \xAF\xE0\xAE\xA5\xAA\xE2\xAE\xAC:\n" // "c\f35ÐÐ´ÐµÑ Ð¸ ÑÑководÑÑво пÑоекÑом:\n"
@@ -2583,6 +2582,21 @@ public:
_soxm = new RU_CloudsOfXeenMenu();
return _soxm;
}
+
+ virtual ~RU_KeyConstants() {
+ delete _dci;
+ delete _dcp;
+ delete _dcc;
+ delete _dd;
+ delete _di;
+ delete _dp;
+ delete _dq;
+ delete _dqf;
+ delete _ds;
+ delete _l;
+ delete _soxm;
+ }
+
private:
RU_DialogsCharInfo *_dci = NULL;
RU_DialogsControlPanel *_dcp = NULL;
@@ -2602,6 +2616,10 @@ public:
return _kc;
}
+ virtual ~RU() {
+ delete _kc;
+ }
+
private:
RU_KeyConstants *_kc = NULL;
};
Commit: 269cd905ed585253b7e372bb415a62072e393463
https://github.com/scummvm/scummvm/commit/269cd905ed585253b7e372bb415a62072e393463
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2025-02-23T10:24:37+01:00
Commit Message:
MM: Fix stack limit warning
Instead of allocating the data directly in the class, allocate it in the
heap.
Changed paths:
devtools/create_mm/create_xeen/file.h
diff --git a/devtools/create_mm/create_xeen/file.h b/devtools/create_mm/create_xeen/file.h
index 18baf35a454..d8d64e937c1 100644
--- a/devtools/create_mm/create_xeen/file.h
+++ b/devtools/create_mm/create_xeen/file.h
@@ -130,16 +130,21 @@ public:
class MemFile : public Stream {
private:
- byte _data[MAX_MEM_SIZE];
+ byte *_data;
size_t _size, _offset;
public:
MemFile() : _size(0), _offset(0) {
+ _data = new byte[MAX_MEM_SIZE];
memset(_data, 0, MAX_MEM_SIZE);
}
MemFile(const byte *data, size_t size) : _size(size), _offset(0) {
+ assert(size <= MAX_MEM_SIZE);
+ _data = new byte[MAX_MEM_SIZE];
memcpy(_data, data, size);
+ memset(_data + size, 0, MAX_MEM_SIZE - size);
}
virtual ~MemFile() {
+ delete[] _data;
}
bool open() {
More information about the Scummvm-git-logs
mailing list