From b81bb9038c447559ca3d6295b351aa0c7d72eb54 Mon Sep 17 00:00:00 2001 From: Nathan Scott Date: Tue, 31 Aug 2021 15:55:27 +1000 Subject: [PATCH] Fix resource leaks dealing with unrecognised config file version Plug leaks of an open file descriptor and dynamically allocated 'option' when we bail out early reading unknown config version. --- Settings.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Settings.c b/Settings.c index f4c79188..2786a829 100644 --- a/Settings.c +++ b/Settings.c @@ -182,6 +182,8 @@ static bool Settings_read(Settings* this, const char* fileName, unsigned int ini // the version of the config file on disk is newer than what we can read fprintf(stderr, "WARNING: %s specifies configuration format version v%d, but this %s binary supports up to v%d.", fileName, this->config_version, PACKAGE, CONFIG_READER_MIN_VERSION); fprintf(stderr, " The configuration version will be downgraded to v%d when %s exits.\n", CONFIG_READER_MIN_VERSION, PACKAGE); + String_freeArray(option); + fclose(fd); return false; } } else if (String_eq(option[0], "fields")) {