chiark / gitweb /
Correct a logic error in Unequal game desc validation.
authorSimon Tatham <anakin@pobox.com>
Sun, 11 Dec 2016 09:19:30 +0000 (09:19 +0000)
committerSimon Tatham <anakin@pobox.com>
Sun, 11 Dec 2016 09:19:30 +0000 (09:19 +0000)
commitcf6e4e272c2aa3477f149eb75ffe0436e1a8a2b0
treebd8747f6f589435f04a986f253012ff8c77b6106
parentb95812963a8d187526145f5e1a9693f10eee2b65
Correct a logic error in Unequal game desc validation.

A user points out that the error check that should have detected a
non-digit where a digit should have been was never firing, due to an
&& that should have been ||.

I don't think it was a harmful error - the subsequent check that the
number was in range, plus the skipping past only digits to find the
next part of the string, combine to arrange that not many kinds of
invalid game id could actually get through.

But it did have the small effect that a 0 could be elided without
triggering an error, e.g. the game ids

  4:0,0,0,0,0,0L,0,0,0R,0U,0,0L,0,0,,3,
  4:0,0,0,0,0,0L,0,0,0R,0U,0,0L,0,0,0,3,

would both be accepted, and would be decoded into the same game, even
though the former should have failed syntax validation. Now it does.
unequal.c