Index: chrome/browser/net/sqlite_persistent_cookie_store.cc |
diff --git a/chrome/browser/net/sqlite_persistent_cookie_store.cc b/chrome/browser/net/sqlite_persistent_cookie_store.cc |
index de1b849c48dff3a161d36ce34603a2ae61ade501..7a6c41867c9b84a86d5bac8458928abc59b47b96 100644 |
--- a/chrome/browser/net/sqlite_persistent_cookie_store.cc |
+++ b/chrome/browser/net/sqlite_persistent_cookie_store.cc |
@@ -566,7 +566,7 @@ void SQLitePersistentCookieStore::Backend::ChainLoadCookies( |
BrowserThread::IO, FROM_HERE, |
base::Bind(&SQLitePersistentCookieStore::Backend::CompleteLoadOnIOThread, |
this, loaded_callback, load_success)); |
- if (!restore_old_session_cookies_) |
+ if (load_success && !restore_old_session_cookies_) |
DeleteSessionCookies(); |
} |
} |
@@ -589,8 +589,9 @@ bool SQLitePersistentCookieStore::Backend::LoadCookiesForDomains( |
"secure, httponly, last_access_utc, has_expires, persistent " |
"FROM cookies WHERE host_key = ? AND persistent = 1")); |
} |
- if (!smt) { |
+ if (!smt.is_valid()) { |
NOTREACHED() << "select statement prep failed"; |
+ smt.Clear(); // Disconnect smt_ref from db_. |
db_.reset(); |
return false; |
} |