summaryrefslogtreecommitdiff
path: root/pbx.c
diff options
context:
space:
mode:
authorLuigi Rizzo <rizzo@icir.org>2006-05-10 20:44:28 +0000
committerLuigi Rizzo <rizzo@icir.org>2006-05-10 20:44:28 +0000
commit466407e81490881566ca92a31d64dbe4b922396a (patch)
tree28a6514e8b004b53c3161d1b5678281803195bb0 /pbx.c
parent8fcae1192d6c2fd190e1ebc60751ef72e228c248 (diff)
lock conlock before accessing the list.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26625 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'pbx.c')
-rw-r--r--pbx.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/pbx.c b/pbx.c
index c1254ae60..1238a7cd3 100644
--- a/pbx.c
+++ b/pbx.c
@@ -3422,12 +3422,11 @@ int ast_unregister_application(const char *app)
struct ast_context *ast_context_create(struct ast_context **extcontexts, const char *name, const char *registrar)
{
struct ast_context *tmp, **local_contexts;
- int length;
- length = sizeof(struct ast_context);
- length += strlen(name) + 1;
+ int length = sizeof(struct ast_context) + strlen(name) + 1;
+
if (!extcontexts) {
- local_contexts = &contexts;
ast_mutex_lock(&conlock);
+ local_contexts = &contexts;
} else
local_contexts = extcontexts;