From 59756aef149dd70d74146526c70679c47cab0811 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Mon, 6 Jan 2020 22:25:05 +0900 Subject: Need to preserve the original input string in `mrb_str_len_to_dbl`. --- src/string.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src/string.c') diff --git a/src/string.c b/src/string.c index 7b6a11a6f..93e4847d0 100644 --- a/src/string.c +++ b/src/string.c @@ -2492,16 +2492,15 @@ double mrb_str_len_to_dbl(mrb_state *mrb, const char *s, size_t len, mrb_bool badcheck) { char buf[DBL_DIG * 4 + 10]; - const char *p; - const char *pend = s + len; + const char *p = s; + const char *pend = p + len; char *end; char *n; char prev = 0; double d; - if (!s) return 0.0; - while (ISSPACE(*s)) s++; - p = s; + if (!p) return 0.0; + while (ISSPACE(*p)) p++; if (p[0] == '0' && (p[1] == 'x' || p[1] == 'X')) { mrb_value x; -- cgit v1.2.3