From 895a8ec484ead49ab243772895b24b787e94ef0e Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sun, 1 Mar 2026 18:19:04 +0100 Subject: Improve solver name check --- src/solvers/h48/utils.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/solvers') diff --git a/src/solvers/h48/utils.h b/src/solvers/h48/utils.h index 682eb1d..27fb2e5 100644 --- a/src/solvers/h48/utils.h +++ b/src/solvers/h48/utils.h @@ -12,7 +12,7 @@ parse_h48h(const char *buf, uint8_t h[static 1]) { char format_error_msg[100]; sprintf(format_error_msg, "[H48] Error parsing H48 solver: must be in " - "'h48h*' format, but got '%s'\n", buf); + "'h48hNN' format, but got '%s'\n", buf); buf += 3; @@ -22,6 +22,13 @@ parse_h48h(const char *buf, uint8_t h[static 1]) } buf++; + if (strlen(buf) > 2 || + (strlen(buf) >= 1 && *buf < '1' && *buf > '9') || + (strlen(buf) == 2 && *buf < '0' && *buf > '9')) { + LOG(format_error_msg); + goto parse_h48h_error; + } + *h = atoi(buf); if (*h > H48_HMAX) { LOG("[H48] Invalid value %" PRIu8 " for parameter h (must be " -- cgit v1.3