Program: 151276
Project: 151276
Buggy source:
@Override public Set<PermissionAttachmentInfo> getEffectivePermissions(){
  if (!this.injectMetadata) {
    return super.getEffectivePermissions();
  }
  Set<PermissionAttachmentInfo> infoSet=super.getEffectivePermissions();
  try {
    PermissionUser user=PermissionsEx.getUser(this.player);
    String world=this.player.getWorld().getName();
    PermissionAttachment attachment=new PermissionAttachment(PermissionsEx.getPlugin(),this.player);
    for (    PermissionGroup group : user.getGroups(world)) {
      infoSet.add(new PermissionAttachmentInfo(this.player,"String_Node_Str" + group.getName(),attachment,true));
    }
    for (    Map.Entry<String,String> option : user.getOptions(world).entrySet()) {
      infoSet.add(new PermissionAttachmentInfo(this.player,"String_Node_Str" + option.getKey() + "String_Node_Str"+ option.getValue(),attachment,true));
    }
    infoSet.add(new PermissionAttachmentInfo(this.player,"String_Node_Str" + user.getPrefix(world),attachment,true));
    infoSet.add(new PermissionAttachmentInfo(this.player,"String_Node_Str" + user.getSuffix(world),attachment,true));
    for (    Permission perm : Bukkit.getServer().getPluginManager().getPermissions()) {
      if (super.isPermissionSet(perm)) {
        continue;
      }
      String expression=user.getMatchingExpression(perm.getName(),world);
      if (expression != null) {
        infoSet.add(new PermissionAttachmentInfo(this.player,perm.getName(),attachment,user.explainExpression(expression)));
      }
    }
  }
 catch (  Throwable e) {
  }
  return infoSet;
}

Fixed version (ground truth):
@Override public Set<PermissionAttachmentInfo> getEffectivePermissions(){
  if (!this.injectMetadata || !PermissionsEx.isAvailable()) {
    return super.getEffectivePermissions();
  }
  Set<PermissionAttachmentInfo> infoSet=super.getEffectivePermissions();
  try {
    PermissionUser user=PermissionsEx.getUser(this.player);
    String world=this.player.getWorld().getName();
    PermissionAttachment attachment=new PermissionAttachment(PermissionsEx.getPlugin(),this.player);
    for (    PermissionGroup group : user.getGroups(world)) {
      infoSet.add(new PermissionAttachmentInfo(this.player,"String_Node_Str" + group.getName(),attachment,true));
    }
    for (    Map.Entry<String,String> option : user.getOptions(world).entrySet()) {
      infoSet.add(new PermissionAttachmentInfo(this.player,"String_Node_Str" + option.getKey() + "String_Node_Str"+ option.getValue(),attachment,true));
    }
    infoSet.add(new PermissionAttachmentInfo(this.player,"String_Node_Str" + user.getPrefix(world),attachment,true));
    infoSet.add(new PermissionAttachmentInfo(this.player,"String_Node_Str" + user.getSuffix(world),attachment,true));
    for (    Permission perm : Bukkit.getServer().getPluginManager().getPermissions()) {
      if (super.isPermissionSet(perm)) {
        continue;
      }
      String expression=user.getMatchingExpression(perm.getName(),world);
      if (expression != null) {
        infoSet.add(new PermissionAttachmentInfo(this.player,perm.getName(),attachment,user.explainExpression(expression)));
      }
    }
  }
 catch (  Throwable e) {
  }
  return infoSet;
}