Program: 20837
Project: 20837
Buggy source:
@Override public void handlePremium(DownloadLink downloadLink,Account account) throws Exception {
  String passCode=null;
  requestFileInformation(downloadLink);
  login(account);
  String dllink=downloadLink.getDownloadURL();
  br.getPage(dllink);
  String url=br.getRedirectLocation();
  if (url == null) {
    throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  }
  br.setFollowRedirects(true);
  dl=jd.plugins.BrowserAdapter.openDownload(br,downloadLink,url,true,0);
  if (dl.getConnection() != null && dl.getConnection().getContentType() != null && dl.getConnection().getContentType().contains("String_Node_Str")) {
    br.followConnection();
    if (br.containsHTML("String_Node_Str")) {
      if (downloadLink.getStringProperty("String_Node_Str",null) == null) {
        passCode=Plugin.getUserInput(JDL.L("String_Node_Str","String_Node_Str"),downloadLink);
      }
 else {
        passCode=downloadLink.getStringProperty("String_Node_Str",null);
      }
      Form form=br.getForm(0);
      form.put("String_Node_Str",Encoding.urlEncode(passCode));
      dl=jd.plugins.BrowserAdapter.openDownload(br,downloadLink,form,true,0);
    }
 else     throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  }
  if (dl.getConnection() != null && dl.getConnection().getContentType() != null && dl.getConnection().getContentType().contains("String_Node_Str")) {
    br.followConnection();
    errorHandling(downloadLink);
    throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  }
  if (passCode != null) {
    downloadLink.setProperty("String_Node_Str",passCode);
  }
  dl.startDownload();
}

Fixed version (ground truth):
@Override public void handlePremium(DownloadLink downloadLink,Account account) throws Exception {
  String passCode=null;
  requestFileInformation(downloadLink);
  login(account);
  String dllink=downloadLink.getDownloadURL();
  br.getPage(dllink);
  String url=br.getRedirectLocation();
  if (url == null) {
    throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  }
  br.setFollowRedirects(true);
  br.setDebug(true);
  dl=jd.plugins.BrowserAdapter.openDownload(br,downloadLink,url,true,0);
  if (dl.getConnection() != null && dl.getConnection().getContentType() != null && dl.getConnection().getContentType().contains("String_Node_Str")) {
    br.followConnection();
    if (br.containsHTML("String_Node_Str")) {
      if (downloadLink.getStringProperty("String_Node_Str",null) == null) {
        passCode=Plugin.getUserInput(JDL.L("String_Node_Str","String_Node_Str"),downloadLink);
      }
 else {
        passCode=downloadLink.getStringProperty("String_Node_Str",null);
      }
      Form form=br.getForm(0);
      form.put("String_Node_Str",Encoding.urlEncode(passCode));
      dl=jd.plugins.BrowserAdapter.openDownload(br,downloadLink,form,true,0);
    }
 else     throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  }
  if (dl.getConnection() != null && dl.getConnection().getContentType() != null && dl.getConnection().getContentType().contains("String_Node_Str")) {
    br.followConnection();
    errorHandling(downloadLink);
    throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
  }
  if (passCode != null) {
    downloadLink.setProperty("String_Node_Str",passCode);
  }
  dl.startDownload();
}