Program: 151853
Project: 151853
Buggy source:
private void set(String permission) throws SAXException {
  if (permission.equals("String_Node_Str")) {
    return;
  }
  String[] parts=permission.split("String_Node_Str");
  for (  String group : parts[0].split("String_Node_Str")) {
    boolean allow=true;
    if (group.startsWith("String_Node_Str") || group.startsWith("String_Node_Str") || group.startsWith("String_Node_Str")) {
      allow=false;
      group=group.substring(1);
    }
    int start;
    int end;
    Matcher matcher;
    try {
      if (group.endsWith("String_Node_Str")) {
        start=getInt(group.substring(0,group.length() - 1));
        end=Integer.MAX_VALUE;
      }
 else       if (group.equals("String_Node_Str")) {
        start=Integer.MIN_VALUE;
        end=Integer.MAX_VALUE;
      }
 else       if ((matcher=GROUP_PATTERN.matcher(group)).matches()) {
        start=getInt(matcher.group(1));
        end=getInt(matcher.group(2));
      }
 else {
        start=end=getInt(group);
      }
    }
 catch (    SAXException e) {
      throw new SAXException("String_Node_Str" + permission + "String_Node_Str");
    }
    if (allow) {
      allowedGroups.put(start,end);
    }
 else {
      disallowedGroups.put(start,end);
    }
  }
  if (parts.length >= 2) {
    for (    String player : parts[1].split("String_Node_Str")) {
      if (player.startsWith("String_Node_Str") || player.startsWith("String_Node_Str") || player.startsWith("String_Node_Str")) {
        disallowedPlayers.add(player.substring(1).toLowerCase());
      }
 else {
        allowedPlayers.add(player.toLowerCase());
      }
    }
  }
  if (allowedGroups.isEmpty() && allowedPlayers.isEmpty()) {
    allowedGroups.put(Integer.MIN_VALUE,Integer.MAX_VALUE);
  }
}

Fixed version (ground truth):
private void set(String permission) throws SAXException {
  if (permission.equals("String_Node_Str")) {
    return;
  }
  String[] parts=permission.split("String_Node_Str");
  for (  String group : parts[0].split("String_Node_Str")) {
    if (group.length() == 0) {
      continue;
    }
    boolean allow=true;
    if (group.startsWith("String_Node_Str") || group.startsWith("String_Node_Str") || group.startsWith("String_Node_Str")) {
      allow=false;
      group=group.substring(1);
    }
    int start;
    int end;
    Matcher matcher;
    try {
      if (group.endsWith("String_Node_Str")) {
        start=getInt(group.substring(0,group.length() - 1));
        end=Integer.MAX_VALUE;
      }
 else       if (group.equals("String_Node_Str")) {
        start=Integer.MIN_VALUE;
        end=Integer.MAX_VALUE;
      }
 else       if ((matcher=GROUP_PATTERN.matcher(group)).matches()) {
        start=getInt(matcher.group(1));
        end=getInt(matcher.group(2));
      }
 else {
        start=end=getInt(group);
      }
    }
 catch (    SAXException e) {
      throw new SAXException("String_Node_Str" + permission + "String_Node_Str");
    }
    if (allow) {
      allowedGroups.put(start,end);
    }
 else {
      disallowedGroups.put(start,end);
    }
  }
  if (parts.length >= 2) {
    for (    String player : parts[1].split("String_Node_Str")) {
      if (player.startsWith("String_Node_Str") || player.startsWith("String_Node_Str") || player.startsWith("String_Node_Str")) {
        disallowedPlayers.add(player.substring(1).toLowerCase());
      }
 else {
        allowedPlayers.add(player.toLowerCase());
      }
    }
  }
  if (allowedGroups.isEmpty() && allowedPlayers.isEmpty()) {
    allowedGroups.put(Integer.MIN_VALUE,Integer.MAX_VALUE);
  }
}