Make sure to avoid trivial referral loops

In theory loops should not happen for domains, because recursion is
enabled only for the server names listed in server_referral_handlers[],
but better be safe than sorry.
This commit is contained in:
Marco d'Itri 2025-05-06 00:37:23 +02:00
parent e30931d958
commit f31128ed0d
No known key found for this signature in database
GPG Key ID: CB3EC33AE1DED781

View File

@ -1040,6 +1040,12 @@ char *query_server(const char *server, const char *port, const char *query)
err_quit(_("Catastrophic error: disclaimer text has been changed.\n"
"Please upgrade this program.\n"));
/* defensive programming: make sure to avoid trivial referral loops */
if (referral_server && streq(server, referral_server)) {
free(referral_server);
referral_server = NULL;
}
return referral_server;
}