aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rspamd.com>2025-05-01 14:52:19 +0100
committerVsevolod Stakhov <vsevolod@rspamd.com>2025-05-01 14:57:54 +0100
commit6e36fda0f90b8b91346049af280af97ec90dd219 (patch)
tree5f2b3333fa168470ecfe81119df1600bcad1c4f8
parenteb7dd8bed18e4254e91985344e3287497619991b (diff)
downloadrspamd-6e36fda0f90b8b91346049af280af97ec90dd219.tar.gz
rspamd-6e36fda0f90b8b91346049af280af97ec90dd219.zip
[Fix] Prevent crashes when accessing upstream address in self-scan mode
-rw-r--r--src/rspamd_proxy.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/rspamd_proxy.c b/src/rspamd_proxy.c
index 694e87c12..5f9f50fa0 100644
--- a/src/rspamd_proxy.c
+++ b/src/rspamd_proxy.c
@@ -1600,8 +1600,8 @@ proxy_backend_master_error_handler(struct rspamd_http_connection *conn, GError *
session->retries++;
msg_info_session("abnormally closing connection from backend: %s, error: %e,"
" retries left: %d",
- rspamd_inet_address_to_string_pretty(
- rspamd_upstream_addr_cur(session->master_conn->up)),
+ session->master_conn->up ? rspamd_inet_address_to_string_pretty(
+ rspamd_upstream_addr_cur(session->master_conn->up)) : "self-scan",
err,
session->ctx->max_retries - session->retries);
rspamd_upstream_fail(bk_conn->up, FALSE, err ? err->message : "unknown");
@@ -2216,8 +2216,8 @@ proxy_client_finish_handler(struct rspamd_http_connection *conn,
}
else {
msg_info_session("finished master connection to %s; HTTP code: %d",
- rspamd_inet_address_to_string_pretty(
- rspamd_upstream_addr_cur(session->master_conn->up)),
+ session->master_conn->up ? rspamd_inet_address_to_string_pretty(
+ rspamd_upstream_addr_cur(session->master_conn->up)) : "self-scan",
msg->code);
proxy_backend_close_connection(session->master_conn);
REF_RELEASE(session);