diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-01-09 22:35:03 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-01-09 22:35:03 +0100 |
commit | d44f572bbfde3e8fcadf0ac6ed52a4b1b52329bc (patch) | |
tree | 6482fdf98233ee81da47e9cf97931335a073bfc4 /extensions | |
parent | dfc398b5c05960e5e6f13393c25051872b3fa0a5 (diff) | |
download | uxp-d44f572bbfde3e8fcadf0ac6ed52a4b1b52329bc.tar.gz |
Handle missing base64 challenge in NegotiateAuth and NTLMAuth.
Diffstat (limited to 'extensions')
-rw-r--r-- | extensions/auth/nsHttpNegotiateAuth.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/extensions/auth/nsHttpNegotiateAuth.cpp b/extensions/auth/nsHttpNegotiateAuth.cpp index adea54b850..8b6be915e9 100644 --- a/extensions/auth/nsHttpNegotiateAuth.cpp +++ b/extensions/auth/nsHttpNegotiateAuth.cpp @@ -530,8 +530,11 @@ nsHttpNegotiateAuth::GenerateCredentials(nsIHttpAuthenticableChannel *authChanne challenge++; len = strlen(challenge); + if (!len)
+ return NS_ERROR_UNEXPECTED;
+ // strip off any padding (see bug 230351) - while (challenge[len - 1] == '=') + while (len && challenge[len - 1] == '=') len--; // |