From 3286e632020e2b133b6a38b70e81573363ec5052 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 15 Nov 2013 11:46:30 +0900 Subject: wrong size of filenames buffer --- src/dump.c | 2 +- src/load.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/dump.c b/src/dump.c index 8430fb9bc..eaee536d9 100644 --- a/src/dump.c +++ b/src/dump.c @@ -567,7 +567,7 @@ write_filename_table(mrb_state *mrb, mrb_irep *irep, uint8_t **cp, mrb_sym **fp, // register filename *lp += 1; - *fp = filenames = (mrb_sym*)mrb_realloc(mrb, filenames, sizeof(mrb_sym*) * (*lp)); + *fp = filenames = (mrb_sym*)mrb_realloc(mrb, filenames, sizeof(mrb_sym) * (*lp)); filenames[*lp - 1] = file->filename_sym; // filename diff --git a/src/load.c b/src/load.c index 5b689368f..68ebb1f7b 100644 --- a/src/load.c +++ b/src/load.c @@ -376,7 +376,7 @@ read_section_debug(mrb_state *mrb, const uint8_t *start, mrb_irep *irep) filenames_len = bin_to_uint16(bin); bin += sizeof(uint16_t); - filenames = (mrb_sym*)mrb_malloc(mrb, sizeof(mrb_sym*) * filenames_len); + filenames = (mrb_sym*)mrb_malloc(mrb, sizeof(mrb_sym) * filenames_len); for(i = 0; i < filenames_len; ++i) { uint16_t f_len = bin_to_uint16(bin); bin += sizeof(uint16_t); -- cgit v1.2.3