From 9f4954559b03ec910514fdff2f70d113721b30bf Mon Sep 17 00:00:00 2001 From: Kevin Newton Date: Thu, 29 Aug 2024 14:39:18 -0400 Subject: [PATCH] [PRISM] Handle nth reference ERANGE with warning --- prism/prism.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prism/prism.c b/prism/prism.c index 4edb57adc0..43ce5df371 100644 --- a/prism/prism.c +++ b/prism/prism.c @@ -6151,14 +6151,14 @@ pm_numbered_reference_read_node_number(pm_parser_t *parser, const pm_token_t *to errno = 0; unsigned long value = strtoul(digits, &endptr, 10); - if ((digits == endptr) || (*endptr != '\0') || (errno == ERANGE)) { + if ((digits == endptr) || (*endptr != '\0')) { pm_parser_err(parser, start, end, PM_ERR_INVALID_NUMBER_DECIMAL); value = 0; } xfree(digits); - if (value > NTH_REF_MAX) { + if ((errno == ERANGE) || (value > NTH_REF_MAX)) { PM_PARSER_WARN_FORMAT(parser, start, end, PM_WARN_INVALID_NUMBERED_REFERENCE, (int) (length + 1), (const char *) token->start); value = 0; }