Program: 180558
Project: 180558
Buggy source:
@Override protected void doPut(HttpServletRequest req,HttpServletResponse resp) throws ServletException, IOException {
  String pathString=req.getPathInfo();
  if (pathString.startsWith("String_Node_Str")) {
    String login=pathString.substring("String_Node_Str".length());
    User user=(User)getUserAdmin().getUser("String_Node_Str",login);
    if (user == null) {
      resp.sendError(HttpServletResponse.SC_BAD_REQUEST,"String_Node_Str");
      return;
    }
    if (req.getParameter("String_Node_Str") != null) {
      String roles=req.getParameter("String_Node_Str");
      if (roles != null) {
        StringTokenizer tokenizer=new StringTokenizer(roles,"String_Node_Str");
        while (tokenizer.hasMoreTokens()) {
          String role=tokenizer.nextToken();
          user.addRole(getUserAdmin().getRole(role));
        }
      }
    }
  }
 else   if (pathString.startsWith("String_Node_Str")) {
    String login=pathString.substring(1);
    OrionUserAdmin userAdmin;
    try {
      userAdmin=req.getParameter("String_Node_Str") == null ? getUserAdmin() : getUserAdmin(req.getParameter("String_Node_Str"));
    }
 catch (    UnsupportedUserStoreException e) {
      resp.sendError(HttpServletResponse.SC_BAD_REQUEST,"String_Node_Str" + req.getParameter("String_Node_Str"));
      return;
    }
    User user=(User)userAdmin.getUser("String_Node_Str",login);
    if (user == null) {
      resp.sendError(HttpServletResponse.SC_BAD_REQUEST,"String_Node_Str");
      return;
    }
    if (req.getParameter("String_Node_Str") != null) {
      user.setLogin(req.getParameter("String_Node_Str"));
    }
    if (req.getParameter("String_Node_Str") != null) {
      user.setName(req.getParameter("String_Node_Str"));
    }
    if (req.getParameter("String_Node_Str") != null) {
      user.setPassword(req.getParameter("String_Node_Str"));
    }
    if (req.getParameter("String_Node_Str") != null) {
      user.getRoles().clear();
      String roles=req.getParameter("String_Node_Str");
      if (roles != null) {
        StringTokenizer tokenizer=new StringTokenizer(roles,"String_Node_Str");
        while (tokenizer.hasMoreTokens()) {
          String role=tokenizer.nextToken();
          user.addRole(userAdmin.getRole(role));
        }
      }
    }
    userAdmin.updateUser(login,user);
  }
}

Fixed version (ground truth):
@Override protected void doPut(HttpServletRequest req,HttpServletResponse resp) throws ServletException, IOException {
  String pathString=req.getPathInfo();
  OrionUserAdmin userAdmin;
  try {
    userAdmin=req.getParameter("String_Node_Str") == null ? getUserAdmin() : getUserAdmin(req.getParameter("String_Node_Str"));
  }
 catch (  UnsupportedUserStoreException e) {
    resp.sendError(HttpServletResponse.SC_BAD_REQUEST,"String_Node_Str" + req.getParameter("String_Node_Str"));
    return;
  }
  String login=null;
  User user=null;
  if (pathString.startsWith("String_Node_Str")) {
    login=pathString.substring("String_Node_Str".length());
    user=(User)userAdmin.getUser("String_Node_Str",login);
    if (user == null) {
      resp.sendError(HttpServletResponse.SC_BAD_REQUEST,"String_Node_Str");
      return;
    }
    if (req.getParameter("String_Node_Str") != null) {
      user.getRoles().clear();
      String roles=req.getParameter("String_Node_Str");
      if (roles != null) {
        StringTokenizer tokenizer=new StringTokenizer(roles,"String_Node_Str");
        while (tokenizer.hasMoreTokens()) {
          String role=tokenizer.nextToken();
          user.addRole(userAdmin.getRole(role));
        }
      }
    }
  }
 else   if (pathString.startsWith("String_Node_Str")) {
    login=pathString.substring(1);
    user=(User)userAdmin.getUser("String_Node_Str",login);
    if (user == null) {
      resp.sendError(HttpServletResponse.SC_BAD_REQUEST,"String_Node_Str");
      return;
    }
    if (req.getParameter("String_Node_Str") != null) {
      user.setLogin(req.getParameter("String_Node_Str"));
    }
    if (req.getParameter("String_Node_Str") != null) {
      user.setName(req.getParameter("String_Node_Str"));
    }
    if (req.getParameter("String_Node_Str") != null) {
      user.setPassword(req.getParameter("String_Node_Str"));
    }
    if (req.getParameter("String_Node_Str") != null) {
      user.getRoles().clear();
      String roles=req.getParameter("String_Node_Str");
      if (roles != null) {
        StringTokenizer tokenizer=new StringTokenizer(roles,"String_Node_Str");
        while (tokenizer.hasMoreTokens()) {
          String role=tokenizer.nextToken();
          user.addRole(userAdmin.getRole(role));
        }
      }
    }
  }
  userAdmin.updateUser(login,user);
}