summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorcremno <[email protected]>2014-07-11 08:40:40 +0200
committercremno <[email protected]>2014-07-11 08:44:01 +0200
commit55a31f3f239e9ee1c09f1094b1bd6bbed07bf58b (patch)
tree5590993254d309c3744f3cccd6aebe764d3c1056
parentec45dbe16a418f58414f039f1a3b734cd14f63b8 (diff)
downloadmruby-55a31f3f239e9ee1c09f1094b1bd6bbed07bf58b.tar.gz
mruby-55a31f3f239e9ee1c09f1094b1bd6bbed07bf58b.zip
check the return value of `fwrite`
-rw-r--r--src/dump.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/dump.c b/src/dump.c
index b820f1a68..e019baa99 100644
--- a/src/dump.c
+++ b/src/dump.c
@@ -952,7 +952,9 @@ mrb_dump_irep_binary(mrb_state *mrb, mrb_irep *irep, int debug_info, FILE* fp)
result = mrb_dump_irep(mrb, irep, debug_info, &bin, &bin_size);
if (result == MRB_DUMP_OK) {
- fwrite(bin, bin_size, 1, fp);
+ if (fwrite(bin, sizeof(bin[0]), bin_size, fp) != bin_size) {
+ result = MRB_DUMP_WRITE_FAULT;
+ }
}
mrb_free(mrb, bin);