aboutsummaryrefslogtreecommitdiffstats
path: root/src/worker.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/worker.c')
-rw-r--r--src/worker.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/worker.c b/src/worker.c
index 53a4db087..6c3b245c5 100644
--- a/src/worker.c
+++ b/src/worker.c
@@ -146,6 +146,13 @@ read_socket (f_str_t *in, void *arg)
task->msg = in;
msg_debug ("read_socket: got string of length %ld", (long int)task->msg->len);
r = process_message (task);
+ if (r == -1) {
+ msg_warn ("read_socket: processing of message failed");
+ task->last_error = "MIME processing error";
+ task->error_code = RSPAMD_FILTER_ERROR;
+ task->state = WRITE_ERROR;
+ write_socket (task);
+ }
r = process_filters (task);
if (r == -1) {
task->last_error = "Filter processing error";