diff options
Diffstat (limited to 'embed/mozilla/mozilla-embed-single.cpp')
-rw-r--r-- | embed/mozilla/mozilla-embed-single.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/embed/mozilla/mozilla-embed-single.cpp b/embed/mozilla/mozilla-embed-single.cpp index 0523473a6..e4295ca94 100644 --- a/embed/mozilla/mozilla-embed-single.cpp +++ b/embed/mozilla/mozilla-embed-single.cpp @@ -1067,7 +1067,15 @@ impl_list_passwords (EphyPasswordManager *manager) NS_CSTRING_ENCODING_UTF8, userName); rv = nsPassword->GetPassword (unicodeName); - if (NS_FAILED (rv)) continue; + if (NS_FAILED (rv)) + { + /* this usually means we couldn't decrypt the password, due to + * the master password being unavailable. Don't continue since that + * would lead to endless prompting for the master password; abort + * instead. + */ + break; + } nsEmbedCString userPassword; NS_UTF16ToCString (unicodeName, |