Simon Tatham b907e27875 Add validate_params bounds checks in a few more games.
Ben tells me that his recent work in this area was entirely driven by
fuzzing: he added bounds checks in validate_params when the fuzzer had
managed to prove that the lack of them allowed something buggy to
happen.

It seemed worth doing an eyeball-review pass to complement that
strategy, so in this commit I've gone through and added a few more
checks that restrict the area of the grid to be less than INT_MAX.

Notable in this commit: cube.c had to do something complicated because
in the triangular-grid modes the area isn't calculated as easily as
w*h, and Range's existing check that w+h-1 < SCHAR_MAX is sufficient
to rule out w*h being overlarge _but_ should be done before w*h is
ever computed.
2023-01-22 09:30:57 +00:00
2021-04-25 09:59:15 +01:00
2023-01-15 16:24:27 +00:00
2018-11-13 21:48:24 +00:00
2023-01-15 16:24:27 +00:00
2023-01-16 10:43:41 +00:00
2023-01-15 20:59:22 +00:00
2023-01-15 16:24:27 +00:00
2023-01-15 16:24:27 +00:00
2021-03-29 19:02:23 +01:00
2018-11-13 21:48:24 +00:00
2023-01-15 16:24:27 +00:00
2023-01-15 16:24:27 +00:00
2018-11-13 21:48:24 +00:00
2023-01-16 10:46:13 +00:00
2023-01-15 16:24:27 +00:00
2023-01-15 16:24:27 +00:00
2018-11-13 21:48:24 +00:00
2017-09-20 18:03:44 +01:00
2021-05-21 09:10:53 +01:00
2021-03-29 19:02:23 +01:00
2023-01-08 13:53:28 +00:00
2018-11-13 21:48:24 +00:00
2017-05-07 16:25:56 +01:00

This is the README accompanying the source code to Simon Tatham's
puzzle collection. The collection's web site is at
<https://www.chiark.greenend.org.uk/~sgtatham/puzzles/>.

The puzzle collection is built using CMake <https://cmake.org/>. To
compile in the simplest way (on any of Linux, Windows or Mac), run
these commands in the source directory:

  cmake .
  cmake --build .

The manual is provided in Windows Help format for the Windows build;
in text format for anyone who needs it; and in HTML for the Mac OS X
application and for the web site. It is generated from a Halibut
source file (puzzles.but), which is the preferred form for
modification. To generate the manual in other formats, rebuild it,
or learn about Halibut, visit the Halibut website at
<https://www.chiark.greenend.org.uk/~sgtatham/halibut/>.
Description
No description provided
Readme 26 MiB
Languages
C 93.3%
JavaScript 1.4%
Objective-C 1.1%
CMake 1.1%
HTML 0.8%
Other 2.2%