summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Michelson <mmichelson@digium.com>2007-11-16 19:41:15 +0000
committerMark Michelson <mmichelson@digium.com>2007-11-16 19:41:15 +0000
commit3107395445a315b3ad0eef501eb619d985814054 (patch)
tree39a05e430fdf5d498f1e53cb93b9ee18f7d91563
parentab32ff2ad810edf5db0f944454c258b605903b27 (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: https://origsvn.digium.com/svn/asterisk/trunk@89331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-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;
}
}