diff --git a/cockatrice/src/interface/card_picture_loader/card_picture_loader_worker_work.cpp b/cockatrice/src/interface/card_picture_loader/card_picture_loader_worker_work.cpp index d5aac645e..957c74e32 100644 --- a/cockatrice/src/interface/card_picture_loader/card_picture_loader_worker_work.cpp +++ b/cockatrice/src/interface/card_picture_loader/card_picture_loader_worker_work.cpp @@ -76,7 +76,15 @@ void CardPictureLoaderWorkerWork::handleNetworkReply(QNetworkReply *reply) if (redirectUrl.isRelative()) { redirectUrl = url.resolved(redirectUrl); } - emit urlRedirected(url, redirectUrl); + if (url == redirectUrl) { + qCWarning(CardPictureLoaderWorkerWorkLog) << "recusive redirect detected!"; + qCWarning(CardPictureLoaderWorkerWorkLog) << "refusing to load" << redirectTarget; + reply->deleteLater(); + picDownloadFailed(); + return; + } else { + emit urlRedirected(url, redirectUrl); + } } if (reply->error()) {