Program: 61596
Project: 61596
Buggy source:
/** 
 * Script for updating license header in java files :-)
 * @param dir Star directory (e.g. "src/")
 * @param lgpl
 */
public static void updateLicenseInDir(File dir,boolean lgpl){
  int defaultStartYear=2010;
  int defaultFinalYear=2015;
  String defaultAuthor="String_Node_Str";
  String defaultYearStr=Integer.toString(defaultStartYear);
  if (defaultFinalYear != defaultStartYear) {
    defaultYearStr+="String_Node_Str" + defaultFinalYear;
  }
  String gplLicense="String_Node_Str";
  String lgplLicense="String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
  String license=lgpl ? lgplLicense : gplLicense;
  File[] files=dir.listFiles();
  for (  File f : files) {
    if (f.isDirectory()) {
      updateLicenseInDir(f,lgpl);
    }
 else {
      if (f.getName().endsWith("String_Node_Str")) {
        ByteArrayOutputStream baos=new ByteArrayOutputStream();
        PrintWriter pw=new Utf8PrintWriter(baos);
        try {
          try (BufferedReader br=new BufferedReader(new FileReader(f))){
            String s;
            boolean packageFound=false;
            String author=defaultAuthor;
            String yearStr=defaultYearStr;
            while ((s=br.readLine()) != null) {
              if (!packageFound) {
                if (s.trim().startsWith("String_Node_Str")) {
                  packageFound=true;
                  pw.println(license.replace("String_Node_Str",yearStr).replace("String_Node_Str",author));
                }
 else {
                  Matcher mAuthor=Pattern.compile(lgpl ? "String_Node_Str" : "String_Node_Str").matcher(s);
                  if (mAuthor.matches()) {
                    author=mAuthor.group(3).trim();
                    int startYear=Integer.parseInt(mAuthor.group(1).trim());
                    if (startYear == defaultFinalYear) {
                      yearStr=Integer.toString(startYear);
                    }
 else {
                      yearStr=Integer.toString(startYear) + "String_Node_Str" + defaultFinalYear;
                    }
                    if (!author.equals(defaultAuthor)) {
                      System.out.println("String_Node_Str" + author + "String_Node_Str"+ f.getAbsolutePath());
                    }
                  }
                }
              }
              if (packageFound) {
                pw.println(s);
              }
            }
          }
           pw.close();
        }
 catch (        IOException ex) {
        }
        FileOutputStream fos;
        try {
          fos=new FileOutputStream(f);
          fos.write(baos.toByteArray());
          fos.close();
        }
 catch (        IOException ex) {
        }
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * Script for updating license header in java files :-)
 * @param dir Star directory (e.g. "src/")
 * @param lgpl
 */
public static void updateLicenseInDir(File dir,boolean lgpl){
  int defaultStartYear=2010;
  int defaultFinalYear=2015;
  String defaultAuthor="String_Node_Str";
  String defaultYearStr=Integer.toString(defaultStartYear);
  if (defaultFinalYear != defaultStartYear) {
    defaultYearStr+="String_Node_Str" + defaultFinalYear;
  }
  String gplLicense="String_Node_Str";
  String lgplLicense="String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
  String license=lgpl ? lgplLicense : gplLicense;
  File[] files=dir.listFiles();
  for (  File f : files) {
    if (f.isDirectory()) {
      updateLicenseInDir(f,lgpl);
    }
 else {
      if (f.getName().endsWith("String_Node_Str")) {
        ByteArrayOutputStream baos=new ByteArrayOutputStream();
        PrintWriter pw=new Utf8PrintWriter(baos);
        try {
          try (BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(f),Utf8Helper.charset))){
            String s;
            boolean packageFound=false;
            String author=defaultAuthor;
            String yearStr=defaultYearStr;
            while ((s=br.readLine()) != null) {
              if (!packageFound) {
                if (s.trim().startsWith("String_Node_Str")) {
                  packageFound=true;
                  pw.println(license.replace("String_Node_Str",yearStr).replace("String_Node_Str",author));
                }
 else {
                  Matcher mAuthor=Pattern.compile(lgpl ? "String_Node_Str" : "String_Node_Str").matcher(s);
                  if (mAuthor.matches()) {
                    author=mAuthor.group(3).trim();
                    int startYear=Integer.parseInt(mAuthor.group(1).trim());
                    if (startYear == defaultFinalYear) {
                      yearStr=Integer.toString(startYear);
                    }
 else {
                      yearStr=Integer.toString(startYear) + "String_Node_Str" + defaultFinalYear;
                    }
                    if (!author.equals(defaultAuthor)) {
                      System.out.println("String_Node_Str" + author + "String_Node_Str"+ f.getAbsolutePath());
                    }
                  }
                }
              }
              if (packageFound) {
                pw.println(s);
              }
            }
          }
           pw.close();
        }
 catch (        IOException ex) {
        }
        FileOutputStream fos;
        try {
          fos=new FileOutputStream(f);
          fos.write(baos.toByteArray());
          fos.close();
        }
 catch (        IOException ex) {
        }
      }
    }
  }
}