Program: 28521
Project: 28521
Buggy source:
private Response runCommand(String commandName,Map<String,String> data,String successMsgKey,String successMsg,String operationForbiddenMsgKey,String operationForbiddenMsg){
  try {
    if (data.containsKey("String_Node_Str")) {
      String errorMessage=localStrings.getLocalString("String_Node_Str","String_Node_Str");
      return Response.status(400).entity(ResourceUtil.getActionReportResult(ActionReport.ExitCode.FAILURE,errorMessage,requestHeaders,uriInfo)).build();
    }
    ResourceUtil.purgeEmptyEntries(data);
    ResourceUtil.adjustParameters(data);
    String attributeName=data.get("String_Node_Str");
    if (null != commandName) {
      String typeOfResult=ResourceUtil.getResultType(requestHeaders);
      RestActionReporter actionReport=ResourceUtil.runCommand(commandName,data,getSubject());
      ActionReport.ExitCode exitCode=actionReport.getActionExitCode();
      if (exitCode != ActionReport.ExitCode.FAILURE) {
        String successMessage=localStrings.getLocalString(successMsgKey,successMsg,new Object[]{attributeName});
        return Response.ok(ResourceUtil.getActionReportResult(actionReport,successMessage,requestHeaders,uriInfo)).build();
      }
      String errorMessage=getErrorMessage(data,actionReport);
      return Response.status(400).entity(ResourceUtil.getActionReportResult(actionReport,errorMessage,requestHeaders,uriInfo)).build();
    }
    String message=localStrings.getLocalString(operationForbiddenMsgKey,operationForbiddenMsg,new Object[]{uriInfo.getAbsolutePath()});
    return Response.status(403).entity(ResourceUtil.getActionReportResult(ActionReport.ExitCode.FAILURE,message,requestHeaders,uriInfo)).build();
  }
 catch (  Exception e) {
    throw new WebApplicationException(e,Response.Status.INTERNAL_SERVER_ERROR);
  }
}

Fixed version (ground truth):
private Response runCommand(String commandName,Map<String,String> data,String successMsgKey,String successMsg,String operationForbiddenMsgKey,String operationForbiddenMsg){
  try {
    if (data.containsKey("String_Node_Str")) {
      String errorMessage=localStrings.getLocalString("String_Node_Str","String_Node_Str");
      return Response.status(400).entity(ResourceUtil.getActionReportResult(ActionReport.ExitCode.FAILURE,errorMessage,requestHeaders,uriInfo)).build();
    }
    ResourceUtil.purgeEmptyEntries(data);
    ResourceUtil.adjustParameters(data);
    String attributeName=data.get("String_Node_Str");
    if (null != commandName) {
      RestActionReporter actionReport=ResourceUtil.runCommand(commandName,data,getSubject());
      ActionReport.ExitCode exitCode=actionReport.getActionExitCode();
      if (exitCode != ActionReport.ExitCode.FAILURE) {
        String successMessage=localStrings.getLocalString(successMsgKey,successMsg,new Object[]{attributeName});
        return Response.ok(ResourceUtil.getActionReportResult(actionReport,successMessage,requestHeaders,uriInfo)).build();
      }
      String errorMessage=getErrorMessage(data,actionReport);
      return Response.status(400).entity(ResourceUtil.getActionReportResult(actionReport,errorMessage,requestHeaders,uriInfo)).build();
    }
    String message=localStrings.getLocalString(operationForbiddenMsgKey,operationForbiddenMsg,new Object[]{uriInfo.getAbsolutePath()});
    return Response.status(403).entity(ResourceUtil.getActionReportResult(ActionReport.ExitCode.FAILURE,message,requestHeaders,uriInfo)).build();
  }
 catch (  Exception e) {
    throw new WebApplicationException(e,Response.Status.INTERNAL_SERVER_ERROR);
  }
}