From c4aab3053d2839e6d3b99f8a542b0a4f54f2b856 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 11 Jun 2010 17:00:30 +0400 Subject: * Fix SMTP --- src/smtp_proto.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/smtp_proto.c') diff --git a/src/smtp_proto.c b/src/smtp_proto.c index bef52b6b5..0eef4ec17 100644 --- a/src/smtp_proto.c +++ b/src/smtp_proto.c @@ -390,7 +390,7 @@ gboolean smtp_upstream_read_socket (f_str_t * in, void *arg) { struct smtp_session *session = arg; - char outbuf[BUFSIZ], *tmppattern; + char outbuf[BUFSIZ]; int r; switch (session->upstream_state) { @@ -551,9 +551,9 @@ smtp_upstream_read_socket (f_str_t * in, void *arg) } else if (r == 1) { r = strlen (session->cfg->temp_dir) + sizeof ("/rspamd-XXXXXX.tmp"); - tmppattern = alloca (r); - snprintf (tmppattern, r, "%s/rspamd-XXXXXX.tmp", session->cfg->temp_dir); - session->temp_fd = g_mkstemp_full (tmppattern, O_RDWR, S_IWUSR | S_IRUSR); + session->temp_name = memory_pool_alloc (session->pool, r); + snprintf (session->temp_name, r, "%s%crspamd-XXXXXX.tmp", session->cfg->temp_dir, G_DIR_SEPARATOR); + session->temp_fd = g_mkstemp_full (session->temp_name, O_RDWR, S_IWUSR | S_IRUSR); if (session->temp_fd == -1) { session->error = SMTP_ERROR_FILE; session->state = SMTP_STATE_CRITICAL_ERROR; -- cgit v1.2.3