[asterisk-commits] kmoore: branch 1.8 r400694 - /branches/1.8/funcs/func_config.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Oct 8 13:17:33 CDT 2013
Author: kmoore
Date: Tue Oct 8 13:17:31 2013
New Revision: 400694
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=400694
Log:
Fix func_config list entry allocation
The AST_CONFIG dialplan function defined in func_config.c allocates its
config file list entries using ast_malloc. List entry allocations
destined for use with Asterisk's linked list API must be ast_calloc()d
or otherwise initialized so that list pointers are set to NULL. These
uses of ast_malloc have been replaced by ast_calloc to prevent
dereferencing of uninitialized pointer values when traversing the list.
(closes issue ASTERISK-22483)
Reported by: Brian Scott
Modified:
branches/1.8/funcs/func_config.c
Modified: branches/1.8/funcs/func_config.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/funcs/func_config.c?view=diff&rev=400694&r1=400693&r2=400694
==============================================================================
--- branches/1.8/funcs/func_config.c (original)
+++ branches/1.8/funcs/func_config.c Tue Oct 8 13:17:31 2013
@@ -120,7 +120,7 @@
/* At worst, we might leak an entry while upgrading locks */
AST_RWLIST_UNLOCK(&configs);
AST_RWLIST_WRLOCK(&configs);
- if (!(cur = ast_malloc(sizeof(*cur) + strlen(args.filename) + 1))) {
+ if (!(cur = ast_calloc(1, sizeof(*cur) + strlen(args.filename) + 1))) {
AST_RWLIST_UNLOCK(&configs);
return -1;
}
@@ -149,7 +149,7 @@
}
if (!cur) {
- if (!(cur = ast_malloc(sizeof(*cur) + strlen(args.filename) + 1))) {
+ if (!(cur = ast_calloc(1, sizeof(*cur) + strlen(args.filename) + 1))) {
AST_RWLIST_UNLOCK(&configs);
return -1;
}
More information about the asterisk-commits
mailing list