aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorseanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b>2009-08-18 16:38:36 +0000
committerseanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b>2009-08-18 16:38:36 +0000
commit47c42e6fb6707ee8c22c6c06f30abdd9005de587 (patch)
treea87063e693a52107d26173ca8811ec47daa8cf36 /main
parenta006d1d1a62e9f4255221203c34276c2f60a945d (diff)
Merged revisions 212763 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r212763 | seanbright | 2009-08-18 12:36:00 -0400 (Tue, 18 Aug 2009) | 11 lines Delay the creation of temporary files until we have a valid manager command to handle. Without this patch, asterisk creates a temporary file before determining if the specified command is valid. If invalid, we weren't properly cleaning up the file. (closes issue #15730) Reported by: zmehmood Patches: M15730.diff uploaded by junky (license 177) Tested by: zmehmood ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@212764 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r--main/manager.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/main/manager.c b/main/manager.c
index f6501c5e0..e9a997086 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -3126,7 +3126,7 @@ static int action_command(struct mansession *s, const struct message *m)
const char *id = astman_get_header(m, "ActionID");
char *buf, *final_buf;
char template[] = "/tmp/ast-ami-XXXXXX"; /* template for temporary file */
- int fd = mkstemp(template);
+ int fd;
off_t l;
if (ast_strlen_zero(cmd)) {
@@ -3139,6 +3139,8 @@ static int action_command(struct mansession *s, const struct message *m)
return 0;
}
+ fd = mkstemp(template);
+
astman_append(s, "Response: Follows\r\nPrivilege: Command\r\n");
if (!ast_strlen_zero(id)) {
astman_append(s, "ActionID: %s\r\n", id);