diff options
author | Scott Griepentrog <scott@griepentrog.com> | 2015-09-17 16:34:41 -0500 |
---|---|---|
committer | Scott Griepentrog <sgriepentrog@digium.com> | 2015-09-18 13:52:46 -0500 |
commit | c94f46080f60435fffd197d14441ccf9d963521b (patch) | |
tree | 3abc1331512162a11e3a0bfaac2388e3fbc88e5e /res/res_config_sqlite.c | |
parent | a665b3128177fc87036d7eb8b3174ac85e791d22 (diff) |
CHAOS: avoid crash if string create fails
Validate string buffer allocation before using them.
ASTERISK-25323
Change-Id: Ib9c338bdc1e53fb8b81366f0b39482b83ef56ce0
Diffstat (limited to 'res/res_config_sqlite.c')
-rw-r--r-- | res/res_config_sqlite.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/res/res_config_sqlite.c b/res/res_config_sqlite.c index fe2fb3cdb..b97ef7a86 100644 --- a/res/res_config_sqlite.c +++ b/res/res_config_sqlite.c @@ -781,8 +781,16 @@ static int cdr_handler(struct ast_cdr *cdr) struct ast_str *sql1 = ast_str_create(160), *sql2 = ast_str_create(16); int first = 1; + if (!sql1 || !sql2) { + ast_free(sql1); + ast_free(sql2); + return -1; + } + if (!tbl) { ast_log(LOG_WARNING, "No such table: %s\n", cdr_table); + ast_free(sql1); + ast_free(sql2); return -1; } |