diff options
| author | Kevin Newton <kddnewton@gmail.com> | 2024-08-29 14:39:18 -0400 |
|---|---|---|
| committer | Kevin Newton <kddnewton@gmail.com> | 2024-08-29 15:24:55 -0400 |
| commit | 9f4954559b03ec910514fdff2f70d113721b30bf (patch) | |
| tree | af95b80add03167f340e3ef7123855c5fa4f097f | |
| parent | 1f114464fc3424b8c5bb1ff41fde84dc1269f184 (diff) | |
[PRISM] Handle nth reference ERANGE with warning
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/11502
| -rw-r--r-- | prism/prism.c | 4 |
1 files 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; } |
