# HG changeset patch # User Rik # Date 1523565960 25200 # Node ID b02d5a4c7452aa1d44ea09d09ffc661af0fbc572 # Parent c64f7a95b464242a94d2b67a929f6ee585a35f7f base2dec.m: Improve input validation to reject NaN as a base (bug #53477). * base2dec.m: Change structure of input comparisons so that a base of NaN will fail. Add BIST test. Modify %!error BIST tests to look for a fail pattern. diff -r c64f7a95b464 -r b02d5a4c7452 scripts/strings/base2dec.m --- a/scripts/strings/base2dec.m Thu Apr 12 13:30:50 2018 -0700 +++ b/scripts/strings/base2dec.m Thu Apr 12 13:46:00 2018 -0700 @@ -74,7 +74,7 @@ endif elseif (! isscalar (base)) error ("base2dec: cannot convert from several bases at once"); - elseif (base < 2 || base > length (symbols)) + elseif (! (base >= 2 && base <= length (symbols))) error ("base2dec: BASE must be between 2 and 36, or a string of symbols"); else s = toupper (s); @@ -127,7 +127,9 @@ %!error base2dec () %!error base2dec ("11120") %!error base2dec ("11120", 3, 4) -%!error base2dec ("11120", "1231") -%!error base2dec ("11120", "12 3") -%!error base2dec ("11120", ones (2)) -%!error base2dec ("11120", 37) +%!error base2dec ("11120", "1231") +%!error base2dec ("11120", "12 3") +%!error base2dec ("11120", ones (2)) +%!error base2dec ("11120", 1) +%!error base2dec ("11120", 37) +%!error base2dec ("11120", NaN)