summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorErik Lax <erik@datahack.se>2020-04-20 21:34:33 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2020-04-20 21:34:33 +0100
commitdd6711f05c57e1e284306ccc9bb6cd6c926cea01 (patch)
tree09296df6b0ae11c2255871b925054e84694090d4 /src
parentb008f54f89a3e1a0aae0c301122820b87a84d21a (diff)
Fix spool space check to account for SIZE. Bug 2552
Diffstat (limited to 'src')
-rw-r--r--src/src/receive.c4
-rw-r--r--src/src/smtp_in.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/src/receive.c b/src/src/receive.c
index 2d88d6476..f22816920 100644
--- a/src/src/receive.c
+++ b/src/src/receive.c
@@ -270,8 +270,8 @@ if (check_spool_space > 0 || msg_size > 0 || check_spool_inodes > 0)
"check_space = " PR_EXIM_ARITH "K inodes = %d msg_size = %d\n",
space, inodes, check_spool_space, check_spool_inodes, msg_size);
- if ((space >= 0 && space < check_spool_space) ||
- (inodes >= 0 && inodes < check_spool_inodes))
+ if ( space >= 0 && space + msg_size / 1024 < check_spool_space
+ || inodes >= 0 && inodes < check_spool_inodes)
{
log_write(0, LOG_MAIN, "spool directory space check failed: space="
PR_EXIM_ARITH " inodes=%d", space, inodes);
diff --git a/src/src/smtp_in.c b/src/src/smtp_in.c
index 2c54a4ccf..1c02eb5c8 100644
--- a/src/src/smtp_in.c
+++ b/src/src/smtp_in.c
@@ -4861,8 +4861,8 @@ while (done <= 0)
and EXPN etc. to be used when space is short. */
if (!receive_check_fs(
- (smtp_check_spool_space && message_size >= 0)?
- message_size + 5000 : 0))
+ smtp_check_spool_space && message_size >= 0
+ ? message_size + 5000 : 0))
{
smtp_printf("452 Space shortage, please try later\r\n", FALSE);
sender_address = NULL;