summaryrefslogtreecommitdiffhomepage
path: root/src/load.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-04-25 04:33:08 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-04-25 04:33:08 +0900
commit48f36d3f0ef9e1672a7eca95f289156095fc9f26 (patch)
treee26091b4a35d41bc2cd7780dcbb96a7cfa916a55 /src/load.c
parent83c1399af0d750e7a629dbf0ed6b7d0f59cf79ec (diff)
downloadmruby-48f36d3f0ef9e1672a7eca95f289156095fc9f26.tar.gz
mruby-48f36d3f0ef9e1672a7eca95f289156095fc9f26.zip
better integer size assertion suggested by usak
Diffstat (limited to 'src/load.c')
-rw-r--r--src/load.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/load.c b/src/load.c
index 776fec561..5e7245714 100644
--- a/src/load.c
+++ b/src/load.c
@@ -156,7 +156,7 @@ read_irep_record_1(mrb_state *mrb, const uint8_t *bin, size_t *len, mrb_bool all
irep->reps = (mrb_irep**)mrb_malloc(mrb, sizeof(mrb_irep*)*irep->rlen);
diff = src - bin;
- mrb_assert(diff >= 0 && (size_t)diff <= SIZE_MAX);
+ mrb_assert_int_fit(ptrdiff_t, diff, size_t, SIZE_MAX);
*len = (size_t)diff;
return irep;
@@ -333,7 +333,7 @@ read_debug_record(mrb_state *mrb, const uint8_t *start, mrb_irep* irep, size_t *
}
diff = bin - start;
- mrb_assert(diff >= 0 && (size_t)diff <= SIZE_MAX);
+ mrb_assert_int_fit(ptrdiff_t, diff, size_t, SIZE_MAX);
if (record_size != (size_t)diff) {
return MRB_DUMP_GENERAL_FAILURE;
@@ -349,7 +349,7 @@ read_debug_record(mrb_state *mrb, const uint8_t *start, mrb_irep* irep, size_t *
}
diff = bin - start;
- mrb_assert(diff >=0 && (size_t)diff <= SIZE_MAX);
+ mrb_assert_int_fit(ptrdiff_t, diff, size_t, SIZE_MAX);
*record_len = (size_t)diff;
return MRB_DUMP_OK;
@@ -391,7 +391,7 @@ read_section_debug(mrb_state *mrb, const uint8_t *start, mrb_irep *irep, mrb_boo
bin += len;
diff = bin - start;
- mrb_assert(diff >= 0 && (size_t)diff <= UINT32_MAX);
+ mrb_assert_int_fit(ptrdiff_t, diff, size_t, SIZE_MAX);
if ((uint32_t)diff != bin_to_uint32(header->section_size)) {
result = MRB_DUMP_GENERAL_FAILURE;
}