mozreview: Fix login when no redirect parameter is used (bug 1257634). r?smacleod draft
authorMark Cote <mcote@mozilla.com>
Thu, 17 Mar 2016 15:27:54 -0400
changeset 7513 835399b7fbaba01c3a2e8bdfd4ae0cd25f24a9ae
parent 7512 415a3d6628d3426345f432eda8225f9f242a614a
push id699
push usermcote@mozilla.com
push dateThu, 17 Mar 2016 19:35:31 +0000
reviewerssmacleod
bugs1257634
mozreview: Fix login when no redirect parameter is used (bug 1257634). r?smacleod MozReview-Commit-ID: IcaWoblaStH
pylib/mozreview/mozreview/views.py
--- a/pylib/mozreview/mozreview/views.py
+++ b/pylib/mozreview/mozreview/views.py
@@ -90,23 +90,23 @@ def get_bmo_auth_callback(request):
     callback_result = request.GET.get('callback_result', None)
     redirect = request.GET.get('redirect', None)
 
     if not (bmo_username and callback_result):
         logger.error('Bugzilla auth callback called without required '
                      'parameters.')
         return show_error_page(request)
 
-    parsed = urlparse.urlparse(redirect)
+    parsed = None if not redirect else urlparse.urlparse(redirect)
 
     # Enforce relative redirects; we don't want people crafting auth links
     # that redirect to other sites.  We check the scheme as well as the netloc
     # to catch data, file, and other such server-less URIs.
 
-    if parsed.scheme or parsed.netloc:
+    if not parsed or parsed.scheme or parsed.netloc:
         redirect = '/'
 
     unverified_keys = UnverifiedBugzillaApiKey.objects.filter(
         bmo_username=bmo_username).order_by('timestamp')
 
     if not unverified_keys:
         logger.error('No unverified keys found for BMO user %s.' %
                      bmo_username)