aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authormmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-16 19:41:15 +0000
committermmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-16 19:41:15 +0000
commitb075ea8bbb618de23471ab9ee85209bd33514e78 (patch)
tree39a05e430fdf5d498f1e53cb93b9ee18f7d91563 /main
parent414b63e2848bb0ccebd27c5cf3c4b22a5fed33db (diff)
Added some locks that should have been around astman_send_error,
at least according to the comments. (closes issue #11258, reported and patched by eliel) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89331 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r--main/manager.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/main/manager.c b/main/manager.c
index e1bc9323b..e4d93ac6f 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -2384,7 +2384,9 @@ static int process_message(struct mansession *s, const struct message *m)
ast_debug(1, "Manager received command '%s'\n", action);
if (ast_strlen_zero(action)) {
+ ast_mutex_lock(&s->__lock);
astman_send_error(s, m, "Missing action in request");
+ ast_mutex_unlock(&s->__lock);
return 0;
}
@@ -2399,7 +2401,9 @@ static int process_message(struct mansession *s, const struct message *m)
(!strcasecmp(action, "Login") || !strcasecmp(action, "Challenge"))) {
if (check_manager_session_inuse(user)) {
sleep(1);
+ ast_mutex_lock(&s->__lock);
astman_send_error(s, m, "Login Already In Use");
+ ast_mutex_lock(&s->__lock);
return -1;
}
}