merge revision(s) r45793: [Backport #9608]

* complex.c (parse_comp): replace ALLOCA_N with ALLOCV_N/ALLOCV_END
	  [Bug #9608]

	* rational.c (read_digits): ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nagachika 2014-06-29 17:21:30 +00:00
parent 0caeba64c3
commit 1ff2d59ebb
4 changed files with 25 additions and 10 deletions

View file

@ -1774,19 +1774,26 @@ parse_comp(const char *s, int strict,
VALUE *num)
{
char *buf, *b;
VALUE tmp;
int ret = 1;
buf = ALLOCA_N(char, strlen(s) + 1);
buf = ALLOCV_N(char, tmp, strlen(s) + 1);
b = buf;
skip_ws(&s);
if (!read_comp(&s, strict, num, &b))
return 0;
skip_ws(&s);
if (!read_comp(&s, strict, num, &b)) {
ret = 0;
}
else {
skip_ws(&s);
if (strict)
if (*s != '\0')
return 0;
return 1;
if (strict)
if (*s != '\0')
ret = 0;
}
ALLOCV_END(tmp);
return ret;
}
static VALUE