Program: 90472
Project: 90472
Buggy source:
/** 
 * Parse a Log4j 1.2 properties configuration file into a ConfigurationBuilder.
 * @param input  InputStream to read from, will not be closed.
 * @return  the populated ConfigurationBuilder
 * @throws IOException  if unable to read the input
 */
public ConfigurationBuilder<BuiltConfiguration> buildConfigurationBuilder(final InputStream input) throws IOException {
  properties.load(input);
  final String rootCategoryValue=getLog4jValue("String_Node_Str");
  final String rootLoggerValue=getLog4jValue("String_Node_Str");
  if (rootCategoryValue == null && rootLoggerValue == null) {
    return null;
  }
  builder.setConfigurationName("String_Node_Str");
  final String debugValue=getLog4jValue("String_Node_Str");
  if (Boolean.valueOf(debugValue)) {
    builder.setStatusLevel(Level.DEBUG);
  }
  final String[] sortedAppenderNamesC=buildRootLogger(getLog4jValue("String_Node_Str"));
  final String[] sortedAppenderNamesL=buildRootLogger(getLog4jValue("String_Node_Str"));
  final String[] sortedAppenderNames=sortedAppenderNamesL.length > 0 ? sortedAppenderNamesL : sortedAppenderNamesC;
  final Map<String,String> classNameToProperty=buildClassToPropertyPrefixMap(sortedAppenderNames);
  for (  final Map.Entry<String,String> entry : classNameToProperty.entrySet()) {
    final String appenderName=entry.getKey();
    String appenderClass=entry.getValue();
    buildAppender(appenderName,appenderClass);
  }
  buildLoggers("String_Node_Str");
  buildLoggers("String_Node_Str");
  return builder;
}

Fixed version (ground truth):
/** 
 * Parse a Log4j 1.2 properties configuration file into a ConfigurationBuilder.
 * @param input  InputStream to read from, will not be closed.
 * @return  the populated ConfigurationBuilder, never {@literal null}
 * @throws IOException  if unable to read the input
 * @throws ConfigurationException  if the input does not contain a valid configuration
 */
public ConfigurationBuilder<BuiltConfiguration> buildConfigurationBuilder(final InputStream input) throws IOException {
  properties.load(input);
  final String rootCategoryValue=getLog4jValue("String_Node_Str");
  final String rootLoggerValue=getLog4jValue("String_Node_Str");
  if (rootCategoryValue == null && rootLoggerValue == null) {
    throw new ConfigurationException("String_Node_Str");
  }
  builder.setConfigurationName("String_Node_Str");
  final String debugValue=getLog4jValue("String_Node_Str");
  if (Boolean.valueOf(debugValue)) {
    builder.setStatusLevel(Level.DEBUG);
  }
  final String[] sortedAppenderNamesC=buildRootLogger(getLog4jValue("String_Node_Str"));
  final String[] sortedAppenderNamesL=buildRootLogger(getLog4jValue("String_Node_Str"));
  final String[] sortedAppenderNames=sortedAppenderNamesL.length > 0 ? sortedAppenderNamesL : sortedAppenderNamesC;
  final Map<String,String> classNameToProperty=buildClassToPropertyPrefixMap(sortedAppenderNames);
  for (  final Map.Entry<String,String> entry : classNameToProperty.entrySet()) {
    final String appenderName=entry.getKey();
    String appenderClass=entry.getValue();
    buildAppender(appenderName,appenderClass);
  }
  buildLoggers("String_Node_Str");
  buildLoggers("String_Node_Str");
  return builder;
}