From 55d6d9a6ce8782f3c4dd3c5169023db156b0da0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Wi=C5=9Bniewski?= Date: Wed, 12 Feb 2025 09:13:12 +0100 Subject: [PATCH] Prevent nullptr dereference in {MultiPerform,Session}::intercept() --- cpr/multiperform.cpp | 3 +++ cpr/session.cpp | 3 +++ 2 files changed, 6 insertions(+) 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_;