aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-27 22:14:55 +0000
committermurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-27 22:14:55 +0000
commitc3b51db06e7e95c8b9255018e48b474776740895 (patch)
tree76237d7227efd63212ccb9ebf0b4ea5f38733aa1
parent1aa835601976d37199c7de0fea9077a3b26c3fd8 (diff)
closes issue #11294; missed the conditional unlock of the contexts when the hash table is used instead; also, used the ast_free_ptr as advised.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89792 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--main/pbx.c3
-rw-r--r--pbx/pbx_config.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/main/pbx.c b/main/pbx.c
index c23b211a6..b665e2c01 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -3604,7 +3604,8 @@ static struct ast_context *find_context_locked(const char *context)
return c;
}
#endif
- ast_unlock_contexts();
+ if (!c)
+ ast_unlock_contexts();
return c;
}
diff --git a/pbx/pbx_config.c b/pbx/pbx_config.c
index 8019c5ca4..5c97f8bf7 100644
--- a/pbx/pbx_config.c
+++ b/pbx/pbx_config.c
@@ -1000,7 +1000,7 @@ static char *handle_cli_dialplan_add_extension(struct ast_cli_entry *e, int cmd,
if (!app_data)
app_data="";
if (ast_add_extension(a->argv[5], a->argc == 7 ? 1 : 0, exten, iprior, NULL, cidmatch, app,
- (void *)strdup(app_data), ast_free, registrar)) {
+ (void *)strdup(app_data), ast_free_ptr, registrar)) {
switch (errno) {
case ENOMEM:
ast_cli(a->fd, "Out of free memory\n");