diff --git a/ChangeLog.adoc b/ChangeLog.adoc index 56415b646..b9f6daa2a 100644 --- a/ChangeLog.adoc +++ b/ChangeLog.adoc @@ -15,6 +15,7 @@ For a list of important changes that require manual actions, please look at rele Bug fixes:: + * core: fix memory leak when config version is invalid or not supported * core: fix crash when "config_version" is present in a configuration file without a value * core: display an error on startup if environment variable "HOME" is not set * ruby: fix use of NULL variable when displaying exception diff --git a/src/core/wee-config-file.c b/src/core/wee-config-file.c index 83fef3b76..59551fff2 100644 --- a/src/core/wee-config-file.c +++ b/src/core/wee-config-file.c @@ -3670,6 +3670,10 @@ config_file_read_internal (struct t_config_file *config_file, int reload) filename, line_number, line); config_file_backup (filename); + if (option) + free (option); + if (value) + free (value); goto end_file; } else @@ -3687,6 +3691,10 @@ config_file_read_internal (struct t_config_file *config_file, int reload) config_file->version_read, config_file->version); config_file_backup (filename); + if (option) + free (option); + if (value) + free (value); goto end_file; } }