From bc2beba14823fbd586499ce29e1ffd3a44e7c505 Mon Sep 17 00:00:00 2001
From: gnosygnu
Date: Sun, 19 Jan 2020 14:28:22 -0500
Subject: [PATCH] Pages: Do not escape if invalid attributes [#656]
---
.../src/gplx/xowa/xtns/proofreadPage/Pp_pages_nde.java | 5 +++++
.../xtns/proofreadPage/Pp_pages_nde_basic_tst.java | 10 ++++++++++
2 files changed, 15 insertions(+)
diff --git a/400_xowa/src/gplx/xowa/xtns/proofreadPage/Pp_pages_nde.java b/400_xowa/src/gplx/xowa/xtns/proofreadPage/Pp_pages_nde.java
index 589f17c70..945ae1c84 100644
--- a/400_xowa/src/gplx/xowa/xtns/proofreadPage/Pp_pages_nde.java
+++ b/400_xowa/src/gplx/xowa/xtns/proofreadPage/Pp_pages_nde.java
@@ -44,6 +44,11 @@ public class Pp_pages_nde implements Xox_xnde, Mwh_atr_itm_owner1 {
unknown_xatrs.Add(new Pp_index_arg(xatr.Key_bry(), xatr.Val_as_bry()));
return;
}
+
+ // skip valid xatrs with invalid values; EX: ; ISSUE#:656 DATE:2020-01-19
+ if (xatr.Val_bgn() == -1)
+ return;
+
Byte_obj_val xatr_id = (Byte_obj_val)xatr_id_obj;
byte[] val_bry = xatr.Val_as_bry();
switch (xatr_id.Val()) {
diff --git a/400_xowa/src/gplx/xowa/xtns/proofreadPage/Pp_pages_nde_basic_tst.java b/400_xowa/src/gplx/xowa/xtns/proofreadPage/Pp_pages_nde_basic_tst.java
index 9f83e5d12..291bcdb6f 100644
--- a/400_xowa/src/gplx/xowa/xtns/proofreadPage/Pp_pages_nde_basic_tst.java
+++ b/400_xowa/src/gplx/xowa/xtns/proofreadPage/Pp_pages_nde_basic_tst.java
@@ -165,4 +165,14 @@ public class Pp_pages_nde_basic_tst {
, "
"
));
}
+ @Test public void Ignore_invalid_to() { // ISSUE#:656 DATE:2020-01-19
+ fxt.Init_page_create("Page:A/1", "A");
+ fxt.Init_page_create("Page:A/2", "B");
+ fxt.Init_page_create("Page:A/3", "C");
+ fxt.Test_parse_page_wiki_str("", String_.Concat_lines_nl
+ ( "A B C " // fails if <pages index="A" from=1 to 3 />
+ , "
"
+ , ""
+ ));
+ }
}