diff --git a/lightup.c b/lightup.c index 3f0237a..c37be86 100644 --- a/lightup.c +++ b/lightup.c @@ -47,6 +47,7 @@ #include #include #include +#include #include #include "puzzles.h" @@ -346,6 +347,8 @@ static const char *validate_params(const game_params *params, bool full) { if (params->w < 2 || params->h < 2) return "Width and height must be at least 2"; + if (params->w > INT_MAX / params->h) + return "Width times height must not be unreasonably large"; if (full) { if (params->blackpc < 5 || params->blackpc > 100) return "Percentage of black squares must be between 5% and 100%";