Program: 160938
Project: 160938
Buggy source:
@Override public AccessGrant verifyResponse(final Map<String,String> requestParams,final String methodType) throws Exception {
  LOG.info("String_Node_Str");
  if (requestParams.get("String_Node_Str") != null) {
    LOG.debug("String_Node_Str");
    String accessToken=requestParams.get("String_Node_Str");
    Integer expires=null;
    if (requestParams.get(Constants.EXPIRES) != null) {
      expires=new Integer(requestParams.get(Constants.EXPIRES));
    }
    accessGrant=new AccessGrant();
    accessGrant.setKey(accessToken);
    accessGrant.setAttribute(Constants.EXPIRES,expires);
    if (permission != null) {
      accessGrant.setPermission(permission);
    }
 else {
      accessGrant.setPermission(Permission.ALL);
    }
    accessGrant.setProviderId(providerId);
    LOG.debug(accessGrant);
    return accessGrant;
  }
  if (!providerState) {
    throw new ProviderStateException();
  }
  String code=requestParams.get("String_Node_Str");
  if (code == null || code.length() == 0) {
    throw new SocialAuthException("String_Node_Str");
  }
  LOG.debug("String_Node_Str" + code);
  String acode;
  String accessToken=null;
  try {
    acode=URLEncoder.encode(code,"String_Node_Str");
  }
 catch (  Exception e) {
    acode=code;
  }
  StringBuffer sb=new StringBuffer();
  if (MethodType.GET.toString().equals(methodType)) {
    sb.append(endpoints.get(Constants.OAUTH_ACCESS_TOKEN_URL));
    char separator=endpoints.get(Constants.OAUTH_ACCESS_TOKEN_URL).indexOf('?') == -1 ? '?' : '&';
    sb.append(separator);
  }
  sb.append("String_Node_Str").append(oauth.getConfig().get_consumerKey());
  sb.append("String_Node_Str").append(this.successUrl);
  sb.append("String_Node_Str").append(oauth.getConfig().get_consumerSecret());
  sb.append("String_Node_Str").append(acode);
  sb.append("String_Node_Str");
  Response response;
  String authURL=null;
  try {
    if (MethodType.GET.toString().equals(methodType)) {
      authURL=sb.toString();
      LOG.debug("String_Node_Str" + authURL);
      response=HttpUtil.doHttpRequest(authURL,methodType,null,null);
    }
 else {
      authURL=endpoints.get(Constants.OAUTH_ACCESS_TOKEN_URL);
      LOG.debug("String_Node_Str" + authURL);
      response=HttpUtil.doHttpRequest(authURL,methodType,sb.toString(),null);
    }
  }
 catch (  Exception e) {
    throw new SocialAuthException("String_Node_Str" + authURL,e);
  }
  String result;
  try {
    result=response.getResponseBodyAsString(Constants.ENCODING);
  }
 catch (  IOException io) {
    throw new SocialAuthException(io);
  }
  Map<String,Object> attributes=new HashMap<String,Object>();
  Integer expires=null;
  if (result.indexOf("String_Node_Str") < 0) {
    String[] pairs=result.split("String_Node_Str");
    for (    String pair : pairs) {
      String[] kv=pair.split("String_Node_Str");
      if (kv.length != 2) {
        throw new SocialAuthException("String_Node_Str" + authURL);
      }
 else {
        if (kv[0].equals("String_Node_Str")) {
          accessToken=kv[1];
        }
 else         if (kv[0].equals("String_Node_Str")) {
          expires=Integer.valueOf(kv[1]);
        }
 else         if (kv[0].equals("String_Node_Str")) {
          expires=Integer.valueOf(kv[1]);
        }
 else {
          attributes.put(kv[0],kv[1]);
        }
      }
    }
  }
 else {
    try {
      JSONObject jObj=new JSONObject(result);
      if (jObj.has("String_Node_Str")) {
        accessToken=jObj.getString("String_Node_Str");
      }
      if (jObj.has("String_Node_Str") && jObj.opt("String_Node_Str") != null) {
        String str=jObj.get("String_Node_Str").toString();
        if (str != null && str.length() > 0) {
          expires=Integer.valueOf(str);
        }
      }
      if (accessToken != null) {
        Iterator<String> keyItr=jObj.keys();
        while (keyItr.hasNext()) {
          String key=keyItr.next();
          if (!"String_Node_Str".equals(key) && !"String_Node_Str".equals(key) && jObj.opt(key) != null) {
            attributes.put(key,jObj.opt(key).toString());
          }
        }
      }
    }
 catch (    JSONException je) {
      throw new SocialAuthException("String_Node_Str" + authURL);
    }
  }
  LOG.debug("String_Node_Str" + accessToken);
  LOG.debug("String_Node_Str" + expires);
  if (accessToken != null) {
    accessGrant=new AccessGrant();
    accessGrant.setKey(accessToken);
    accessGrant.setAttribute(Constants.EXPIRES,expires);
    if (attributes.size() > 0) {
      accessGrant.setAttributes(attributes);
    }
    if (permission != null) {
      accessGrant.setPermission(permission);
    }
 else {
      accessGrant.setPermission(Permission.ALL);
    }
    accessGrant.setProviderId(providerId);
  }
 else {
    throw new SocialAuthException("String_Node_Str" + authURL);
  }
  return accessGrant;
}

Fixed version (ground truth):
@Override public AccessGrant verifyResponse(final Map<String,String> requestParams,final String methodType) throws Exception {
  LOG.info("String_Node_Str");
  if (requestParams.get("String_Node_Str") != null) {
    LOG.debug("String_Node_Str");
    String accessToken=requestParams.get("String_Node_Str");
    Integer expires=null;
    if (requestParams.get(Constants.EXPIRES) != null) {
      expires=new Integer(requestParams.get(Constants.EXPIRES));
    }
    accessGrant=new AccessGrant();
    accessGrant.setKey(accessToken);
    accessGrant.setAttribute(Constants.EXPIRES,expires);
    if (permission != null) {
      accessGrant.setPermission(permission);
    }
 else {
      accessGrant.setPermission(Permission.ALL);
    }
    accessGrant.setProviderId(providerId);
    LOG.debug(accessGrant);
    return accessGrant;
  }
  if (!providerState) {
    throw new ProviderStateException();
  }
  String code=requestParams.get("String_Node_Str");
  if (code == null || code.length() == 0) {
    throw new SocialAuthException("String_Node_Str");
  }
  LOG.debug("String_Node_Str" + code);
  String acode;
  String accessToken=null;
  try {
    acode=URLEncoder.encode(code,"String_Node_Str");
  }
 catch (  Exception e) {
    acode=code;
  }
  StringBuffer sb=new StringBuffer();
  if (MethodType.GET.toString().equals(methodType)) {
    sb.append(endpoints.get(Constants.OAUTH_ACCESS_TOKEN_URL));
    char separator=endpoints.get(Constants.OAUTH_ACCESS_TOKEN_URL).indexOf('?') == -1 ? '?' : '&';
    sb.append(separator);
  }
  sb.append("String_Node_Str").append(oauth.getConfig().get_consumerKey());
  sb.append("String_Node_Str").append(this.successUrl);
  sb.append("String_Node_Str").append(oauth.getConfig().get_consumerSecret());
  sb.append("String_Node_Str").append(acode);
  sb.append("String_Node_Str");
  if (customProperties != null) {
    for (    String key : customProperties.keySet()) {
      sb.append("String_Node_Str");
      sb.append(key);
      sb.append("String_Node_Str");
      sb.append(customProperties.get(key));
    }
  }
  LOG.debug("String_Node_Str" + sb.toString());
  Response response;
  String authURL=null;
  try {
    if (MethodType.GET.toString().equals(methodType)) {
      authURL=sb.toString();
      LOG.debug("String_Node_Str" + authURL);
      response=HttpUtil.doHttpRequest(authURL,methodType,null,null);
    }
 else {
      authURL=endpoints.get(Constants.OAUTH_ACCESS_TOKEN_URL);
      LOG.debug("String_Node_Str" + authURL);
      response=HttpUtil.doHttpRequest(authURL,methodType,sb.toString(),null);
    }
  }
 catch (  Exception e) {
    throw new SocialAuthException("String_Node_Str" + authURL,e);
  }
  String result;
  try {
    result=response.getResponseBodyAsString(Constants.ENCODING);
  }
 catch (  IOException io) {
    throw new SocialAuthException(io);
  }
  Map<String,Object> attributes=new HashMap<String,Object>();
  Integer expires=null;
  if (result.indexOf("String_Node_Str") < 0) {
    String[] pairs=result.split("String_Node_Str");
    for (    String pair : pairs) {
      String[] kv=pair.split("String_Node_Str");
      if (kv.length != 2) {
        throw new SocialAuthException("String_Node_Str" + authURL);
      }
 else {
        if (kv[0].equals("String_Node_Str")) {
          accessToken=kv[1];
        }
 else         if (kv[0].equals("String_Node_Str")) {
          expires=Integer.valueOf(kv[1]);
        }
 else         if (kv[0].equals("String_Node_Str")) {
          expires=Integer.valueOf(kv[1]);
        }
 else {
          attributes.put(kv[0],kv[1]);
        }
      }
    }
  }
 else {
    try {
      JSONObject jObj=new JSONObject(result);
      if (jObj.has("String_Node_Str")) {
        accessToken=jObj.getString("String_Node_Str");
      }
      if (jObj.has("String_Node_Str") && jObj.opt("String_Node_Str") != null) {
        String str=jObj.get("String_Node_Str").toString();
        if (str != null && str.length() > 0) {
          expires=Integer.valueOf(str);
        }
      }
      if (accessToken != null) {
        Iterator<String> keyItr=jObj.keys();
        while (keyItr.hasNext()) {
          String key=keyItr.next();
          if (!"String_Node_Str".equals(key) && !"String_Node_Str".equals(key) && jObj.opt(key) != null) {
            attributes.put(key,jObj.opt(key).toString());
          }
        }
      }
    }
 catch (    JSONException je) {
      throw new SocialAuthException("String_Node_Str" + authURL);
    }
  }
  LOG.debug("String_Node_Str" + accessToken);
  LOG.debug("String_Node_Str" + expires);
  if (accessToken != null) {
    accessGrant=new AccessGrant();
    accessGrant.setKey(accessToken);
    accessGrant.setAttribute(Constants.EXPIRES,expires);
    if (attributes.size() > 0) {
      accessGrant.setAttributes(attributes);
    }
    if (permission != null) {
      accessGrant.setPermission(permission);
    }
 else {
      accessGrant.setPermission(Permission.ALL);
    }
    accessGrant.setProviderId(providerId);
  }
 else {
    throw new SocialAuthException("String_Node_Str" + authURL);
  }
  return accessGrant;
}