Program: 20841
Project: 20841
Buggy source:
public void checkErrors(DownloadLink theLink) throws NumberFormatException, PluginException {
  if (brbefore.contains("String_Node_Str")) {
    int minutes=0, seconds=0, hours=0;
    String tmphrs=new Regex(brbefore,"String_Node_Str").getMatch(0);
    if (tmphrs != null)     hours=Integer.parseInt(tmphrs);
    String tmpmin=new Regex(brbefore,"String_Node_Str").getMatch(0);
    if (tmpmin != null)     minutes=Integer.parseInt(tmpmin);
    String tmpsec=new Regex(brbefore,"String_Node_Str").getMatch(0);
    if (tmpsec != null)     seconds=Integer.parseInt(tmpsec);
    int waittime=((3600 * hours) + (60 * minutes) + seconds+ 1) * 1000;
    logger.info("String_Node_Str" + waittime + "String_Node_Str");
    throw new PluginException(LinkStatus.ERROR_IP_BLOCKED,null,waittime);
  }
  if (brbefore.contains("String_Node_Str")) {
    String tmphrs=new Regex(brbefore,"String_Node_Str").getMatch(0);
    String tmpmin=new Regex(brbefore,"String_Node_Str").getMatch(0);
    String tmpsec=new Regex(brbefore,"String_Node_Str").getMatch(0);
    String tmpdays=new Regex(brbefore,"String_Node_Str").getMatch(0);
    if (tmphrs == null && tmpmin == null && tmpsec == null && tmpdays == null) {
      throw new PluginException(LinkStatus.ERROR_IP_BLOCKED,null,60 * 60 * 1000l);
    }
 else {
      int minutes=0, seconds=0, hours=0, days=0;
      if (tmphrs != null)       hours=Integer.parseInt(tmphrs);
      if (tmpmin != null)       minutes=Integer.parseInt(tmpmin);
      if (tmpsec != null)       seconds=Integer.parseInt(tmpsec);
      if (tmpdays != null)       days=Integer.parseInt(tmpdays);
      int waittime=((days * 24 * 3600) + (3600 * hours) + (60 * minutes)+ seconds+ 1) * 1000;
      logger.info("String_Node_Str" + waittime + "String_Node_Str");
      throw new PluginException(LinkStatus.ERROR_IP_BLOCKED,null,waittime);
    }
  }
  if (brbefore.contains("String_Node_Str")) {
    String filesizelimit=new Regex(brbefore,"String_Node_Str").getMatch(0);
    if (filesizelimit != null) {
      filesizelimit=filesizelimit.trim();
      logger.warning("String_Node_Str" + filesizelimit + "String_Node_Str");
      throw new PluginException(LinkStatus.ERROR_FATAL,"String_Node_Str" + filesizelimit);
    }
 else {
      logger.warning("String_Node_Str");
      throw new PluginException(LinkStatus.ERROR_FATAL,"String_Node_Str");
    }
  }
}

Fixed version (ground truth):
public void checkErrors(DownloadLink theLink) throws NumberFormatException, PluginException {
  if (brbefore.contains("String_Node_Str")) {
    int minutes=0, seconds=0, hours=0;
    String tmphrs=new Regex(brbefore,"String_Node_Str").getMatch(0);
    if (tmphrs != null)     hours=Integer.parseInt(tmphrs);
    String tmpmin=new Regex(brbefore,"String_Node_Str").getMatch(0);
    if (tmpmin != null)     minutes=Integer.parseInt(tmpmin);
    String tmpsec=new Regex(brbefore,"String_Node_Str").getMatch(0);
    if (tmpsec != null)     seconds=Integer.parseInt(tmpsec);
    int waittime=((3600 * hours) + (60 * minutes) + seconds+ 1) * 1000;
    logger.info("String_Node_Str" + waittime + "String_Node_Str");
    throw new PluginException(LinkStatus.ERROR_IP_BLOCKED,null,waittime);
  }
  if (brbefore.contains("String_Node_Str")) {
    String tmphrs=new Regex(brbefore,"String_Node_Str").getMatch(0);
    String tmpmin=new Regex(brbefore,"String_Node_Str").getMatch(0);
    String tmpsec=new Regex(brbefore,"String_Node_Str").getMatch(0);
    String tmpdays=new Regex(brbefore,"String_Node_Str").getMatch(0);
    if (tmphrs == null && tmpmin == null && tmpsec == null && tmpdays == null) {
      throw new PluginException(LinkStatus.ERROR_IP_BLOCKED,null,60 * 60 * 1000l);
    }
 else {
      int minutes=0, seconds=0, hours=0, days=0;
      if (tmphrs != null)       hours=Integer.parseInt(tmphrs);
      if (tmpmin != null)       minutes=Integer.parseInt(tmpmin);
      if (tmpsec != null)       seconds=Integer.parseInt(tmpsec);
      if (tmpdays != null)       days=Integer.parseInt(tmpdays);
      int waittime=((days * 24 * 3600) + (3600 * hours) + (60 * minutes)+ seconds+ 1) * 1000;
      logger.info("String_Node_Str" + waittime + "String_Node_Str");
      throw new PluginException(LinkStatus.ERROR_IP_BLOCKED,null,waittime);
    }
  }
  if (brbefore.contains("String_Node_Str")) {
    String filesizelimit=new Regex(brbefore,"String_Node_Str").getMatch(0);
    if (filesizelimit != null) {
      filesizelimit=filesizelimit.trim();
      logger.warning("String_Node_Str" + filesizelimit + "String_Node_Str");
      throw new PluginException(LinkStatus.ERROR_FATAL,"String_Node_Str" + filesizelimit);
    }
 else {
      logger.warning("String_Node_Str");
      throw new PluginException(LinkStatus.ERROR_FATAL,"String_Node_Str");
    }
  }
  if (brbefore.contains("String_Node_Str")) {
    logger.info("String_Node_Str");
    throw new PluginException(LinkStatus.ERROR_TEMPORARILY_UNAVAILABLE,"String_Node_Str");
  }
}