https://bugs.exim.org/show_bug.cgi?id=3137
Bug ID: 3137
Summary: NULL deref in smtp_quit_handler(): FILE operation on
closed stream
Product: Exim
Version: N/A
Hardware: x86
OS: Linux
Status: NEW
Severity: bug
Priority: medium
Component: Mail Receipt
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Exim at commit 272a9eab951d93cda52dcc72ef52d46a23da2322 contains a NULL
dereference bug in the function smtp_quit_handler().
The functions attempts...
(void) poll_one_fd(fileno(smtp_in), POLLIN, 200);
but smtp_in might have been closed and set to NULL in synprot_error()
beforehand.
The following patch resolves the issue:
diff --git a/src/src/smtp_in.c b/src/src/smtp_in.c
index 2fc6fd20e..bb4288ef4 100644
--- a/src/src/smtp_in.c
+++ b/src/src/smtp_in.c
@@ -3625,7 +3625,7 @@ log_close_event(US"by QUIT");
/* Pause, hoping client will FIN first so that they get the TIME_WAIT.
The socket should become readble (though with no data) */
-(void) poll_one_fd(fileno(smtp_in), POLLIN, 200);
+if (smtp_in) (void) poll_one_fd(fileno(smtp_in), POLLIN, 200);
#endif /*!SERVERSIDE_CLOSE_NOWAIT*/
}
--
You are receiving this mail because:
You are on the CC list for the bug.
--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-dev.lists.exim.org/
## unsubscribe (doesn't require an account):
## [email protected]
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/