diff --git a/mozilla/extensions/wallet/src/singsign.cpp b/mozilla/extensions/wallet/src/singsign.cpp index 781280eb848..eeded0f1591 100644 --- a/mozilla/extensions/wallet/src/singsign.cpp +++ b/mozilla/extensions/wallet/src/singsign.cpp @@ -753,11 +753,19 @@ si_GetURL(const char * passwordRealm) { } return (si_SignonURLStruct *) (si_signon_list->ElementAt(0)); } + PRInt32 urlCount = LIST_COUNT(si_signon_list); - for (PRInt32 i=0; iElementAt(i)); - if(url->passwordRealm && !PL_strcmp(passwordRealm, url->passwordRealm)) { - return url; + if (urlCount) { + // If the last char of passwordRealm is '/' then strip it before making comparison. + nsCAutoString realmWithoutTrailingSlash(passwordRealm); + if (realmWithoutTrailingSlash.Last() == '/') + realmWithoutTrailingSlash.SetLength(realmWithoutTrailingSlash.Length()-1); + + for (PRInt32 i=0; iElementAt(i)); + if(url->passwordRealm && !PL_strcmp(realmWithoutTrailingSlash.get(), url->passwordRealm)) { + return url; + } } } return (NULL);