mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 03:50:31 +00:00
Fix various problems detected with Valgrind.
* chan_console accessed pvts after deallocation. * cdr_mysql stored a pointer that was freed by realloc() * The module loader did not check usecount on shutdown, which led to chan_iax2 reading a timer that was already unloaded. * The event subsystem sometimes creates an event with no IEs. Due to a corner condition, the code would read beyond the memory boundary. * res_pktccops did not correctly check whether its monitor thread was started. (closes issue #16062) Reported by: alexanderheinz Patches: 20091109__issue16062.diff.txt uploaded by tilghman (license 14) Tested by: tilghman git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@228798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -364,16 +364,16 @@ static int my_load_config_string(struct ast_config *cfg, const char *category, c
|
||||
return -1;
|
||||
}
|
||||
|
||||
tmp = ast_variable_retrieve(cfg, category, variable);
|
||||
|
||||
ast_str_set(field, 0, "%s", tmp ? tmp : def);
|
||||
|
||||
us->str = *field;
|
||||
|
||||
AST_LIST_LOCK(&unload_strings);
|
||||
AST_LIST_INSERT_HEAD(&unload_strings, us, entry);
|
||||
AST_LIST_UNLOCK(&unload_strings);
|
||||
|
||||
tmp = ast_variable_retrieve(cfg, category, variable);
|
||||
|
||||
ast_str_set(field, 0, "%s", tmp ? tmp : def);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user