diff options
author | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-11-16 19:41:15 +0000 |
---|---|---|
committer | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-11-16 19:41:15 +0000 |
commit | b075ea8bbb618de23471ab9ee85209bd33514e78 (patch) | |
tree | 39a05e430fdf5d498f1e53cb93b9ee18f7d91563 /main/manager.c | |
parent | 414b63e2848bb0ccebd27c5cf3c4b22a5fed33db (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/manager.c')
-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; } } |