Program: 20941
Project: 20941
Buggy source:
public ArrayList<DownloadLink> decryptIt(CryptedLink param,ProgressController progress) throws Exception {
  ArrayList<DownloadLink> decryptedLinks=new ArrayList<DownloadLink>();
  String parameter=param.toString();
  this.setBrowserExclusive();
  br.getHeaders().put("String_Node_Str",RandomUserAgent.generate());
  if (parameter.matches(patternSupported_Info)) {
    br.getPage(parameter);
    String links_page[]=br.getRegex("String_Node_Str").getColumn(0);
    String streamlinks[]=br.getRegex("String_Node_Str").getColumn(0);
    if (links_page == null && streamlinks == null)     return null;
    progress.setRange(links_page.length);
    if (links_page != null) {
      for (      String link : links_page) {
        String golink="String_Node_Str" + link;
        br.getPage(golink);
        String finallink=br.getRedirectLocation();
        if (finallink == null)         return null;
        DownloadLink dl_link=createDownloadlink(finallink);
        dl_link.addSourcePluginPassword("String_Node_Str");
        decryptedLinks.add(dl_link);
        progress.increase(1);
      }
      progress.setRange(streamlinks.length);
      if (streamlinks != null) {
        for (        String link : streamlinks) {
          String golink="String_Node_Str" + link;
          br.getPage(golink);
          String finallink=br.getRedirectLocation();
          if (finallink == null)           return null;
          DownloadLink dl_link=createDownloadlink(finallink);
          dl_link.addSourcePluginPassword("String_Node_Str");
          decryptedLinks.add(dl_link);
          progress.increase(1);
        }
      }
    }
  }
 else {
    br.getPage(parameter);
    DownloadLink dl;
    if (br.getRedirectLocation().equalsIgnoreCase(parameter))     br.getPage(parameter);
    if (br.getRedirectLocation().equalsIgnoreCase(parameter))     return null;
    String url=br.getRedirectLocation();
    decryptedLinks.add(dl=createDownloadlink(url));
    dl.addSourcePluginPassword("String_Node_Str");
    dl.setUrlDownload(url);
  }
  return decryptedLinks;
}

Fixed version (ground truth):
public ArrayList<DownloadLink> decryptIt(CryptedLink param,ProgressController progress) throws Exception {
  ArrayList<DownloadLink> decryptedLinks=new ArrayList<DownloadLink>();
  String parameter=param.toString();
  this.setBrowserExclusive();
  br.getHeaders().put("String_Node_Str",RandomUserAgent.generate());
  if (parameter.matches(patternSupported_Info)) {
    br.getPage(parameter);
    if (br.getRedirectLocation() != null)     br.getPage(br.getRedirectLocation());
    String links_page[]=br.getRegex("String_Node_Str").getColumn(0);
    String streamlinks[]=br.getRegex("String_Node_Str").getColumn(0);
    if (links_page == null && streamlinks == null)     return null;
    progress.setRange(links_page.length);
    if (links_page != null) {
      for (      String link : links_page) {
        String golink="String_Node_Str" + link;
        br.getPage(golink);
        String finallink=br.getRedirectLocation();
        if (finallink == null)         return null;
        DownloadLink dl_link=createDownloadlink(finallink);
        dl_link.addSourcePluginPassword("String_Node_Str");
        decryptedLinks.add(dl_link);
        progress.increase(1);
      }
      progress.setRange(streamlinks.length);
      if (streamlinks != null) {
        for (        String link : streamlinks) {
          String golink="String_Node_Str" + link;
          br.getPage(golink);
          String finallink=br.getRedirectLocation();
          if (finallink == null)           return null;
          DownloadLink dl_link=createDownloadlink(finallink);
          dl_link.addSourcePluginPassword("String_Node_Str");
          decryptedLinks.add(dl_link);
          progress.increase(1);
        }
      }
    }
  }
 else {
    br.getPage(parameter);
    DownloadLink dl;
    if (br.getRedirectLocation().equalsIgnoreCase(parameter))     br.getPage(parameter);
    if (br.getRedirectLocation().equalsIgnoreCase(parameter))     return null;
    String url=br.getRedirectLocation();
    decryptedLinks.add(dl=createDownloadlink(url));
    dl.addSourcePluginPassword("String_Node_Str");
    dl.setUrlDownload(url);
  }
  return decryptedLinks;
}