From 97484b098f33266f6c747c292c708281cb15a286 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Tue, 10 Jan 2023 00:09:11 +0000 Subject: [PATCH] Last-ditch maximum size limit for Bridges This makes sure that width * height <= INT_MAX, which it rather needs to be. --- bridges.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bridges.c b/bridges.c index de95afe..ec25cab 100644 --- a/bridges.c +++ b/bridges.c @@ -72,6 +72,7 @@ #include #include #include +#include #include #include "puzzles.h" @@ -803,6 +804,8 @@ static const char *validate_params(const game_params *params, bool full) { if (params->w < 3 || params->h < 3) return "Width and height must be at least 3"; + if (params->w > INT_MAX / params->h) + return "Width times height must not be unreasonably large"; if (params->maxb < 1 || params->maxb > MAX_BRIDGES) return "Too many bridges."; if (full) {