Program: 20929
Project: 20929
Buggy source:
@Override public void handleFree(DownloadLink link) throws Exception {
  requestFileInformation(link);
  br.setDebug(true);
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_IP_BLOCKED,5 * 60 * 1000l);
  if (br.containsHTML("String_Node_Str")) {
    String waittime=br.getRegex("String_Node_Str").getMatch(0);
    if (Long.parseLong(waittime.trim()) > 0) {
      throw new PluginException(LinkStatus.ERROR_IP_BLOCKED,Long.parseLong(waittime.trim()));
    }
  }
  Form[] forms=br.getForms();
  Form form=forms[1];
  long sleeptime=0;
  try {
    sleeptime=Long.parseLong(br.getRegex("String_Node_Str").getMatch(0)) + 1;
    logger.info("String_Node_Str" + sleeptime + "String_Node_Str");
  }
 catch (  Exception e) {
    logger.info("String_Node_Str");
    logger.info(br.toString());
    sleeptime=60 * 1000l;
  }
  if (sleeptime > 100)   throw new PluginException(LinkStatus.ERROR_IP_BLOCKED,sleeptime);
  if (!this.skipperFailed) {
    form.put("String_Node_Str","String_Node_Str");
    form.put("String_Node_Str","String_Node_Str");
    form.put("String_Node_Str","String_Node_Str");
    form.put("String_Node_Str","String_Node_Str");
    br.submitForm(form);
    if (br.containsHTML("String_Node_Str") && !this.skipperFailed) {
      skipperFailed=true;
      handleFree(link);
      return;
    }
  }
 else {
    this.sleep(sleeptime,link);
    br.submitForm(form);
  }
  if (!br.containsHTML("String_Node_Str")) {
    Recaptcha rc=new Recaptcha(br);
    rc.parse();
    rc.load();
    File cf=rc.downloadCaptcha(getLocalCaptchaFile());
    String c=getCaptchaCode(cf,link);
    rc.setCode(c);
    if (!br.containsHTML("String_Node_Str"))     throw new PluginException(LinkStatus.ERROR_CAPTCHA);
  }
  String dl_url=br.getRegex("String_Node_Str").getMatch(0);
  if (dl_url == null)   throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  br.setFollowRedirects(true);
  br.setDebug(true);
  dl=jd.plugins.BrowserAdapter.openDownload(br,link,dl_url,false,1);
  dl.setFilenameFix(true);
  dl.startDownload();
}

Fixed version (ground truth):
@Override public void handleFree(DownloadLink link) throws Exception {
  requestFileInformation(link);
  br.setDebug(true);
  if (br.containsHTML("String_Node_Str"))   throw new PluginException(LinkStatus.ERROR_IP_BLOCKED,5 * 60 * 1000l);
  if (br.containsHTML("String_Node_Str")) {
    String waittime=br.getRegex("String_Node_Str").getMatch(0);
    if (Long.parseLong(waittime.trim()) > 0) {
      throw new PluginException(LinkStatus.ERROR_IP_BLOCKED,Long.parseLong(waittime.trim()));
    }
  }
  Form[] forms=br.getForms();
  Form form=forms[1];
  long sleeptime=0;
  try {
    sleeptime=Long.parseLong(br.getRegex("String_Node_Str").getMatch(0)) + 1;
    logger.info("String_Node_Str" + sleeptime + "String_Node_Str");
  }
 catch (  Exception e) {
    logger.info("String_Node_Str");
    logger.info(br.toString());
    sleeptime=60 * 1000l;
  }
  if (sleeptime > 100 * 1000l)   throw new PluginException(LinkStatus.ERROR_IP_BLOCKED,sleeptime);
  if (!this.skipperFailed) {
    form.put("String_Node_Str","String_Node_Str");
    form.put("String_Node_Str","String_Node_Str");
    form.put("String_Node_Str","String_Node_Str");
    form.put("String_Node_Str","String_Node_Str");
    br.submitForm(form);
    if (br.containsHTML("String_Node_Str") && !this.skipperFailed) {
      skipperFailed=true;
      handleFree(link);
      return;
    }
  }
 else {
    this.sleep(sleeptime,link);
    br.submitForm(form);
  }
  if (!br.containsHTML("String_Node_Str")) {
    Recaptcha rc=new Recaptcha(br);
    rc.parse();
    rc.load();
    File cf=rc.downloadCaptcha(getLocalCaptchaFile());
    String c=getCaptchaCode(cf,link);
    rc.setCode(c);
    if (!br.containsHTML("String_Node_Str"))     throw new PluginException(LinkStatus.ERROR_CAPTCHA);
  }
  String dl_url=br.getRegex("String_Node_Str").getMatch(0);
  if (dl_url == null)   throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  br.setFollowRedirects(true);
  br.setDebug(true);
  dl=jd.plugins.BrowserAdapter.openDownload(br,link,dl_url,false,1);
  dl.setFilenameFix(true);
  dl.startDownload();
}