diff options
author | Sean Bright <sean.bright@gmail.com> | 2017-02-15 12:55:19 -0500 |
---|---|---|
committer | Sean Bright <sean.bright@gmail.com> | 2017-02-18 12:19:30 -0600 |
commit | 14b1843fb603609b6fd5956cee49f15a53ca6466 (patch) | |
tree | 3ec032b9454b6ffe90dcc8ff802d52c0e776ebde /res/res_config_sqlite3.c | |
parent | bba48a56620afd6c92760eba8a046513fbb227ab (diff) |
res_config_sqlite3: Fix crash when loading with invalid config
When ast_config_load() fails with CONFIG_STATUS_FILEINVALID, it has
already destroyed the ast_config struct for us. Trying to do it again
results in a crash.
Change-Id: If6a5c0ca718ad428e01a1fb25beb209a9ac18bc6
Diffstat (limited to 'res/res_config_sqlite3.c')
-rw-r--r-- | res/res_config_sqlite3.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/res/res_config_sqlite3.c b/res/res_config_sqlite3.c index a30612368..be8da739e 100644 --- a/res/res_config_sqlite3.c +++ b/res/res_config_sqlite3.c @@ -1127,6 +1127,8 @@ static int parse_config(int reload) if (config == CONFIG_STATUS_FILEMISSING || config == CONFIG_STATUS_FILEINVALID) { ast_log(LOG_ERROR, "%s config file '%s'\n", config == CONFIG_STATUS_FILEMISSING ? "Missing" : "Invalid", config_filename); + ast_mutex_unlock(&config_lock); + return 0; } else { const char *cat; struct realtime_sqlite3_db *db; |