diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-03-28 22:42:06 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-03-28 22:42:06 +0900 |
| commit | e8d98a38548041af2d869158fca0149d570a9345 (patch) | |
| tree | c831c4ff022489bed4bb0fdd7b57438b9b161714 /src | |
| parent | e952d55ba02ccb31394cde393f0d874ed7bbda7b (diff) | |
| download | mruby-e8d98a38548041af2d869158fca0149d570a9345.tar.gz mruby-e8d98a38548041af2d869158fca0149d570a9345.zip | |
return value from fread(3) just cannot be ignored
Diffstat (limited to 'src')
| -rw-r--r-- | src/load.c | 8 |
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) |
