Program: 116870
Project: 116870
Buggy source:
@Override public boolean Tmpl_evaluate(Xop_ctx ctx,byte[] src,Xot_invk caller,Bry_bfr bfr){
  int subs_len=this.Subs_len();
switch (tag.Id()) {
case Xop_xnde_tag_.Tid__noinclude:
    break;
case Xop_xnde_tag_.Tid__includeonly:
  if (!ctx.Only_include_evaluate()) {
    for (int i=0; i < subs_len; i++)     this.Subs_get(i).Tmpl_evaluate(ctx,src,caller,bfr);
  }
break;
case Xop_xnde_tag_.Tid__nowiki:
bfr.Add_byte(Byte_ascii.Lt).Add(Xop_xnde_tag_.Tag__nowiki.Name_bry()).Add_byte(Byte_ascii.Gt);
for (int i=0; i < subs_len; i++) this.Subs_get(i).Tmpl_evaluate(ctx,src,caller,bfr);
bfr.Add_byte(Byte_ascii.Lt).Add_byte(Byte_ascii.Slash).Add(Xop_xnde_tag_.Tag__nowiki.Name_bry()).Add_byte(Byte_ascii.Gt);
break;
case Xop_xnde_tag_.Tid__onlyinclude:
for (int i=0; i < subs_len; i++) this.Subs_get(i).Tmpl_evaluate(ctx,src,caller,bfr);
break;
default :
if (tag.Xtn()) {
Bry_bfr cur_bfr=bfr;
boolean is_tmpl_mode=ctx.Wiki().Parser_mgr().Ctx().Parse_tid() == Xop_parser_tid_.Tid__tmpl;
if (is_tmpl_mode) {
cur_bfr=ctx.Wiki().Utl__bfr_mkr().Get_m001().Reset_if_gt(Io_mgr.Len_mb);
}
cur_bfr.Add_mid(src,tag_open_bgn,tag_open_end);
for (int i=0; i < subs_len; i++) this.Subs_get(i).Tmpl_evaluate(ctx,src,caller,cur_bfr);
cur_bfr.Add_mid(src,tag_close_bgn,tag_close_end);
if (tag_close_bgn == Int_.Min_value) {
cur_bfr.Add(tag.Xtn_end_tag());
cur_bfr.Add(Byte_ascii.Gt_bry);
}
if (is_tmpl_mode) {
byte[] val=cur_bfr.To_bry_and_clear();
byte[] key=ctx.Wiki().Parser_mgr().Uniq_mgr().Add(tag.Name_bry(),val);
bfr.Add(key);
}
}
break;
}
return true;
}

Fixed version (ground truth):
@Override public boolean Tmpl_evaluate(Xop_ctx ctx,byte[] src,Xot_invk caller,Bry_bfr bfr){
  int subs_len=this.Subs_len();
switch (tag.Id()) {
case Xop_xnde_tag_.Tid__noinclude:
    break;
case Xop_xnde_tag_.Tid__includeonly:
  if (!ctx.Only_include_evaluate()) {
    for (int i=0; i < subs_len; i++)     this.Subs_get(i).Tmpl_evaluate(ctx,src,caller,bfr);
  }
break;
case Xop_xnde_tag_.Tid__nowiki:
bfr.Add_byte(Byte_ascii.Lt).Add(Xop_xnde_tag_.Tag__nowiki.Name_bry()).Add_byte(Byte_ascii.Gt);
for (int i=0; i < subs_len; i++) this.Subs_get(i).Tmpl_evaluate(ctx,src,caller,bfr);
bfr.Add_byte(Byte_ascii.Lt).Add_byte(Byte_ascii.Slash).Add(Xop_xnde_tag_.Tag__nowiki.Name_bry()).Add_byte(Byte_ascii.Gt);
break;
case Xop_xnde_tag_.Tid__onlyinclude:
for (int i=0; i < subs_len; i++) this.Subs_get(i).Tmpl_evaluate(ctx,src,caller,bfr);
break;
default :
if (tag.Xtn()) {
Bry_bfr cur_bfr=bfr;
boolean is_tmpl_mode=ctx.Wiki().Parser_mgr().Ctx().Parse_tid() == Xop_parser_tid_.Tid__tmpl;
if (is_tmpl_mode) {
cur_bfr=ctx.Wiki().Utl__bfr_mkr().Get_m001().Reset_if_gt(Io_mgr.Len_mb);
}
cur_bfr.Add_mid(src,tag_open_bgn,tag_open_end);
for (int i=0; i < subs_len; i++) this.Subs_get(i).Tmpl_evaluate(ctx,src,caller,cur_bfr);
cur_bfr.Add_mid(src,tag_close_bgn,tag_close_end);
if (tag_close_bgn == Int_.Min_value && closeMode != Xop_xnde_tkn.CloseMode_inline) {
cur_bfr.Add(tag.Xtn_end_tag());
cur_bfr.Add(Byte_ascii.Gt_bry);
}
if (is_tmpl_mode) {
byte[] val=cur_bfr.To_bry_and_clear();
byte[] key=ctx.Wiki().Parser_mgr().Uniq_mgr().Add(tag.Name_bry(),val);
bfr.Add(key);
}
}
break;
}
return true;
}