]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
NoNewGlobals for Auth::Scheme::_Schemes (#2196)
authorJoshua Rogers <MegaManSec@users.noreply.github.com>
Thu, 11 Sep 2025 10:31:55 +0000 (10:31 +0000)
committerSquid Anubis <squid-anubis@squid-cache.org>
Thu, 11 Sep 2025 10:32:05 +0000 (10:32 +0000)
src/auth/Scheme.cc
src/auth/Scheme.h
src/tests/stub_libauth.cc

index ba25cbb7b03da8ec1a936b0e852f4b5b2a138693..8a6a11ad091b27e6d68911d389addf6a9ad90862 100644 (file)
@@ -14,8 +14,6 @@
 #include "auth/SchemeConfig.h"
 #include "globals.h"
 
-std::vector<Auth::Scheme::Pointer> *Auth::Scheme::_Schemes = nullptr;
-
 void
 Auth::Scheme::AddScheme(Auth::Scheme::Pointer instance)
 {
@@ -43,10 +41,8 @@ Auth::Scheme::Find(const char *typestr)
 std::vector<Auth::Scheme::Pointer> &
 Auth::Scheme::GetSchemes()
 {
-    if (!_Schemes)
-        _Schemes = new std::vector<Auth::Scheme::Pointer>;
-
-    return *_Schemes;
+    static const auto schemes = new std::vector<Auth::Scheme::Pointer>;
+    return *schemes;
 }
 
 /**
index f67d941c5f91ac12ea18a43900a98e2ce59fed8c..4a25b2e892fda4196691a362c96f593cf330fbd2 100644 (file)
@@ -65,9 +65,6 @@ public:
 
 protected:
     bool initialised;
-
-private:
-    static std::vector<Scheme::Pointer> *_Schemes;
 };
 
 } // namespace Auth
index db9e34b6a30f8a38b572afe67a5fc4600559d7d9..2e55410bae714fb63ab211eb7c166ee3a4e18a90 100644 (file)
@@ -30,10 +30,9 @@ void authenticateReset(void) STUB
 
 #include "auth/Scheme.h"
 #include <vector>
-std::vector<Auth::Scheme::Pointer> *Auth::Scheme::_Schemes = nullptr;
 void Auth::Scheme::AddScheme(Auth::Scheme::Pointer) STUB
 Auth::Scheme::Pointer Auth::Scheme::Find(const char *) STUB_RETVAL(nullptr)
-std::vector<Auth::Scheme::Pointer> & Auth::Scheme::GetSchemes() STUB_RETVAL(*_Schemes);
+std::vector<Auth::Scheme::Pointer> & Auth::Scheme::GetSchemes() STUB_RETREF(std::vector<Auth::Scheme::Pointer>)
 void Auth::Scheme::FreeAll() STUB
 
 #include "auth/SchemesConfig.h"