summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-sprintf
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-03-11 15:18:41 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-03-11 15:18:41 +0900
commite3922318bd2679de7930ba7c520d58961340e006 (patch)
tree645dd284c3f13df97afa091e3aecbfaaaa0a3807 /mrbgems/mruby-sprintf
parentf9ed15d899edaa2393ea4d07c7862746cdfa06fc (diff)
downloadmruby-e3922318bd2679de7930ba7c520d58961340e006.tar.gz
mruby-e3922318bd2679de7930ba7c520d58961340e006.zip
Check return value from snprintf(); ref #3498
Diffstat (limited to 'mrbgems/mruby-sprintf')
-rw-r--r--mrbgems/mruby-sprintf/src/sprintf.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mrbgems/mruby-sprintf/src/sprintf.c b/mrbgems/mruby-sprintf/src/sprintf.c
index d02a2aa4d..a3e20d83a 100644
--- a/mrbgems/mruby-sprintf/src/sprintf.c
+++ b/mrbgems/mruby-sprintf/src/sprintf.c
@@ -1087,6 +1087,9 @@ retry:
CHECK(need);
n = snprintf(&buf[blen], need, fbuf, fval);
+ if (n < 0) {
+ mrb_raise(mrb, E_RUNTIME_ERROR, "formatting error");
+ }
blen += n;
}
break;