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) {