Skip to content

Commit ec85728

Browse files
authored
Memory leaks with storing configuration filenames (#9324)
1 parent d210db1 commit ec85728

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

mgmt/config/AddConfigFilesHere.cc

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,9 @@ static constexpr bool NOT_REQUIRED{false};
3939
void
4040
registerFile(const char *configName, const char *defaultName, bool isRequired)
4141
{
42-
bool found = false;
43-
const char *fname = REC_readString(configName, &found);
44-
if (!found) {
45-
fname = defaultName;
46-
}
47-
FileManager::instance().addFile(fname, configName, false, isRequired);
42+
bool found = false;
43+
ats_scoped_str fname(REC_readString(configName, &found));
44+
FileManager::instance().addFile(found ? fname : defaultName, configName, false, isRequired);
4845
}
4946

5047
//

mgmt/config/FileManager.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,7 @@ FileManager::ConfigManager::ConfigManager(const char *fileName_, const char *con
388388
FileManager::ConfigManager::~ConfigManager()
389389
{
390390
ats_free(fileName);
391+
ats_free(configName);
391392
}
392393

393394
//

0 commit comments

Comments
 (0)