diff options
author | Mark Michelson <mmichelson@digium.com> | 2007-11-16 19:41:15 +0000 |
---|---|---|
committer | Mark Michelson <mmichelson@digium.com> | 2007-11-16 19:41:15 +0000 |
commit | 3107395445a315b3ad0eef501eb619d985814054 (patch) | |
tree | 39a05e430fdf5d498f1e53cb93b9ee18f7d91563 | |
parent | ab32ff2ad810edf5db0f944454c258b605903b27 (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.c | 4 |
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; } } |