diff --git a/cpr/multiperform.cpp b/cpr/multiperform.cpp index 6c6ea0c80..a01d53185 100644 --- a/cpr/multiperform.cpp +++ b/cpr/multiperform.cpp @@ -353,6 +353,9 @@ const std::optional> MultiPerform::intercept() { } if (current_interceptor_ != interceptors_.end()) { + if (*current_interceptor_ == nullptr) { + return std::nullopt; + } auto icpt = current_interceptor_; // Nested makeRequest() start at first_interceptor_, thus excluding previous interceptors. first_interceptor_ = current_interceptor_; diff --git a/cpr/session.cpp b/cpr/session.cpp index 6b8c149b4..c24a003a7 100644 --- a/cpr/session.cpp +++ b/cpr/session.cpp @@ -912,6 +912,9 @@ const std::optional Session::intercept() { } if (current_interceptor_ != interceptors_.end()) { + if (*current_interceptor_ == nullptr) { + return std::nullopt; + } auto icpt = current_interceptor_; // Nested makeRequest() start at first_interceptor_, thus excluding previous interceptors. first_interceptor_ = current_interceptor_;