summaryrefslogtreecommitdiffhomepage
path: root/src/load.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-03-28 22:42:06 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-03-28 22:42:06 +0900
commite8d98a38548041af2d869158fca0149d570a9345 (patch)
treec831c4ff022489bed4bb0fdd7b57438b9b161714 /src/load.c
parente952d55ba02ccb31394cde393f0d874ed7bbda7b (diff)
downloadmruby-e8d98a38548041af2d869158fca0149d570a9345.tar.gz
mruby-e8d98a38548041af2d869158fca0149d570a9345.zip
return value from fread(3) just cannot be ignored
Diffstat (limited to 'src/load.c')
-rw-r--r--src/load.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/load.c b/src/load.c
index 151ee42d1..cb36c9914 100644
--- a/src/load.c
+++ b/src/load.c
@@ -400,7 +400,7 @@ read_rite_section_lineno_file(mrb_state *mrb, FILE *fp, size_t sirep)
struct rite_section_lineno_header header;
if (fread(&header, sizeof(struct rite_section_lineno_header), 1, fp) == 0) {
- /* 0 Items read */
+ return MRB_DUMP_READ_FAULT;
}
nirep = bin_to_uint16(header.nirep);
@@ -411,13 +411,15 @@ read_rite_section_lineno_file(mrb_state *mrb, FILE *fp, size_t sirep)
//Read Binary Data Section
for (n = 0, i = sirep; n < nirep; n++, i++) {
if (fread(buf, record_header_size, 1, fp) == 0) {
- /* 0 Items read */
+ result = MRB_DUMP_READ_FAULT;
+ goto error_exit;
}
buf_size = bin_to_uint32(&buf[0]);
buf = (uint8_t *)mrb_realloc(mrb, buf, buf_size);
if (fread(&buf[record_header_size], buf_size - record_header_size, 1, fp) == 0) {
- /* 0 Items read */
+ result = MRB_DUMP_READ_FAULT;
+ goto error_exit;
}
result = read_rite_lineno_record(mrb, buf, i, &len);
if (result != MRB_DUMP_OK)