Incorrect null check for request context in UsernamePasswordServlet

Description

In the following code, should (request == null) be (requestContext ==
null) ?

requestContext + request.getServletPath() seems to be being set to:
null/Authn/UserPassword

I also think the requestContext = "/" should be replaced w/ "". See the patch below.

I haven't used the trunk code, which has changed significantly, but it looks like it needs the same fix.

--jon

protected void redirectToLoginPage(HttpServletRequest request,
HttpServletResponse response,
List<Pair<String, String>> queryParams) {

String requestContext =
DatatypeHelper.safeTrimOrNullString(request.getContextPath());
if(request == null){
requestContext = "/";
}
request.setAttribute("actionUrl", requestContext +
request.getServletPath());

Index: UsernamePasswordLoginServlet.java
===================================================================
— UsernamePasswordLoginServlet.java (revision 2828)
+++ UsernamePasswordLoginServlet.java (working copy)
@@ -126,8 +126,8 @@
List<Pair<String, String>> queryParams) {

String requestContext = DatatypeHelper.safeTrimOrNullString(request.getContextPath());

  • if(request == null){

  • requestContext = "/";
    + if(requestContext == null){
    + requestContext = "";
    }
    request.setAttribute("actionUrl", requestContext + request.getServletPath());

Environment

None

Activity

ChadC 
March 3, 2009 at 1:11 AM
(edited)

Fixed in rev 2835

Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Created January 15, 2009 at 10:25 AM
Updated June 22, 2021 at 7:48 PM
Resolved March 3, 2009 at 1:11 AM