mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
pack.c: failed to detect overflow when ch is zero in read_tmpl.
This commit is contained in:
@@ -1131,8 +1131,8 @@ alias:
|
||||
if (ISDIGIT(ch)) {
|
||||
count = ch - '0';
|
||||
while (tmpl->idx < tlen && ISDIGIT(tptr[tmpl->idx])) {
|
||||
int ch = tptr[tmpl->idx++] - '0';
|
||||
if (count+ch > INT_MAX/10) {
|
||||
ch = tptr[tmpl->idx++] - '0';
|
||||
if (count+10 > INT_MAX/10) {
|
||||
mrb_raise(mrb, E_RUNTIME_ERROR, "too big template length");
|
||||
}
|
||||
count = count * 10 + ch;
|
||||
|
||||
Reference in New Issue
Block a user