Browse Source

fix: Lifetime of auth_info_ in login handler (#15044)

trop[bot] 6 years ago
parent
commit
3d8af9d279
2 changed files with 3 additions and 3 deletions
  1. 1 1
      atom/browser/login_handler.cc
  2. 2 2
      atom/browser/login_handler.h

+ 1 - 1
atom/browser/login_handler.cc

@@ -22,7 +22,7 @@ LoginHandler::LoginHandler(
     net::AuthCredentials* credentials,
     const content::ResourceRequestInfo* resource_request_info)
     : credentials_(credentials),
-      auth_info_(auth_info),
+      auth_info_(&auth_info),
       auth_callback_(std::move(callback)),
       weak_factory_(this) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);

+ 2 - 2
atom/browser/login_handler.h

@@ -40,7 +40,7 @@ class LoginHandler : public base::RefCountedThreadSafe<LoginHandler> {
   // thread.
   content::WebContents* GetWebContents() const;
 
-  const net::AuthChallengeInfo* auth_info() const { return &auth_info_; }
+  const net::AuthChallengeInfo* auth_info() const { return auth_info_.get(); }
 
  private:
   friend class base::RefCountedThreadSafe<LoginHandler>;
@@ -56,7 +56,7 @@ class LoginHandler : public base::RefCountedThreadSafe<LoginHandler> {
   net::AuthCredentials* credentials_;
 
   // Who/where/what asked for the authentication.
-  const net::AuthChallengeInfo& auth_info_;
+  scoped_refptr<const net::AuthChallengeInfo> auth_info_;
 
   // WebContents associated with the login request.
   content::ResourceRequestInfo::WebContentsGetter web_contents_getter_;