shithub: puzzles

Download patch

ref: 49841bd0fc04490d94cf32c0e6f9d3f4ffabe098
parent: c0e08f308792b15425e10ad494263d77a45ad92d
author: Ben Harris <bjh21@bjh21.me.uk>
date: Tue Jan 31 16:08:05 EST 2023

Mines: Add assertions to range-check conversions to short

I think these should be adequately guarded by the new restrictions on
grid size, but I'd prefer to be sure.

--- a/mines.c
+++ b/mines.c
@@ -435,7 +435,9 @@
      * Create a set structure and add it to the tree.
      */
     s = snew(struct set);
+    assert(SHRT_MIN <= x && x <= SHRT_MAX);
     s->x = x;
+    assert(SHRT_MIN <= y && y <= SHRT_MAX);
     s->y = y;
     s->mask = mask;
     s->mines = mines;
@@ -506,7 +508,9 @@
 	    /*
 	     * Find the first set with these top left coordinates.
 	     */
+            assert(SHRT_MIN <= xx && xx <= SHRT_MAX);
 	    stmp.x = xx;
+            assert(SHRT_MIN <= yy && yy <= SHRT_MAX);
 	    stmp.y = yy;
 	    stmp.mask = 0;