Program: 3653
Project: 3653
Buggy source:
protected void doDSGet(Context context,HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException, SQLException, AuthorizeException {
  X509Certificate[] certs=(X509Certificate[])request.getAttribute("String_Node_Str");
  if (certs == null || certs.length == 0) {
    if (request.getParameter("String_Node_Str") != null) {
      log.info(LogManager.getHeader(context,"String_Node_Str","String_Node_Str"));
      JSPManager.showJSP(request,response,"String_Node_Str");
    }
 else {
      JSPManager.showJSP(request,response,"String_Node_Str");
    }
  }
 else {
    try {
      if (X509Manager.isValid(certs[0])) {
        EPerson eperson=X509Manager.getUser(context,certs[0]);
        if (eperson == null) {
          if (ConfigurationManager.getBooleanProperty("String_Node_Str")) {
            String email=X509Manager.getEmail(certs[0]);
            eperson=EPerson.create(context);
            eperson.setEmail(email);
            eperson.setCanLogIn(true);
            Authenticate.getSiteAuth().initEPerson(context,request,eperson);
            eperson.update();
            context.commit();
          }
 else {
            log.info(LogManager.getHeader(context,"String_Node_Str","String_Node_Str"));
            JSPManager.showJSP(request,response,"String_Node_Str");
            return;
          }
        }
        if (eperson != null && eperson.canLogIn()) {
          Authenticate.loggedIn(context,request,eperson);
          log.info(LogManager.getHeader(context,"String_Node_Str","String_Node_Str"));
          Authenticate.resumeInterruptedRequest(request,response);
          return;
        }
      }
      log.info(LogManager.getHeader(context,"String_Node_Str","String_Node_Str"));
      JSPManager.showJSP(request,response,"String_Node_Str");
    }
 catch (    CertificateException ce) {
      log.warn(LogManager.getHeader(context,"String_Node_Str","String_Node_Str"),ce);
      JSPManager.showInternalError(request,response);
    }
  }
}

Fixed version (ground truth):
protected void doDSGet(Context context,HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException, SQLException, AuthorizeException {
  X509Certificate[] certs=(X509Certificate[])request.getAttribute("String_Node_Str");
  if (certs == null || certs.length == 0) {
    if (request.getParameter("String_Node_Str") != null) {
      log.info(LogManager.getHeader(context,"String_Node_Str","String_Node_Str"));
      JSPManager.showJSP(request,response,"String_Node_Str");
    }
 else {
      JSPManager.showJSP(request,response,"String_Node_Str");
    }
  }
 else {
    try {
      if (X509Manager.isValid(certs[0])) {
        EPerson eperson=X509Manager.getUser(context,certs[0]);
        if (eperson == null) {
          if (ConfigurationManager.getBooleanProperty("String_Node_Str")) {
            String email=X509Manager.getEmail(certs[0]);
            log.info(LogManager.getHeader(context,"String_Node_Str","String_Node_Str" + email));
            context.setIgnoreAuthorization(true);
            eperson=EPerson.create(context);
            eperson.setEmail(email);
            eperson.setCanLogIn(true);
            Authenticate.getSiteAuth().initEPerson(context,request,eperson);
            eperson.update();
            context.commit();
            context.setIgnoreAuthorization(false);
          }
 else {
            log.info(LogManager.getHeader(context,"String_Node_Str","String_Node_Str"));
            JSPManager.showJSP(request,response,"String_Node_Str");
            return;
          }
        }
        if (eperson != null && eperson.canLogIn()) {
          Authenticate.loggedIn(context,request,eperson);
          log.info(LogManager.getHeader(context,"String_Node_Str","String_Node_Str"));
          Authenticate.resumeInterruptedRequest(request,response);
          return;
        }
      }
      log.info(LogManager.getHeader(context,"String_Node_Str","String_Node_Str"));
      JSPManager.showJSP(request,response,"String_Node_Str");
    }
 catch (    CertificateException ce) {
      log.warn(LogManager.getHeader(context,"String_Node_Str","String_Node_Str"),ce);
      JSPManager.showInternalError(request,response);
    }
  }
}