Skip to content

Commit f30ec2d

Browse files
committed
fixup! Check return value from snprintf(); ref #3498
1 parent e392231 commit f30ec2d

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

Diff for: mrbgems/mruby-sprintf/src/sprintf.c

+4-1
Original file line numberDiff line numberDiff line change
@@ -1049,7 +1049,10 @@ mrb_str_format(mrb_state *mrb, int argc, const mrb_value *argv, mrb_value fmt)
10491049
need = width;
10501050

10511051
CHECK(need + 1);
1052-
snprintf(&buf[blen], need + 1, "%*s", need, "");
1052+
n = snprintf(&buf[blen], need + 1, "%*s", need, "");
1053+
if (n < 0) {
1054+
mrb_raise(mrb, E_RUNTIME_ERROR, "formatting error");
1055+
}
10531056
if (flags & FMINUS) {
10541057
if (!isnan(fval) && fval < 0.0)
10551058
buf[blen++] = '-';

0 commit comments

Comments
 (0)