Fix memory corruption bug in GBAExtdataSerialize
nattthebear goyuken@gmail.com
Thu, 25 Feb 2016 21:25:30 -0500
1 files changed,
3 insertions(+),
3 deletions(-)
jump to
M
src/gba/serialize.c
→
src/gba/serialize.c
@@ -514,14 +514,14 @@ }
bool GBAExtdataSerialize(struct GBAExtdata* extdata, struct VFile* vf) { ssize_t position = vf->seek(vf, 0, SEEK_CUR); - ssize_t size = 2; + ssize_t size = sizeof(struct GBAExtdataHeader); size_t i = 0; for (i = 1; i < EXTDATA_MAX; ++i) { if (extdata->data[i].data) { - size += sizeof(uint64_t) * 2; + size += sizeof(struct GBAExtdataHeader); } } - if (size == 2) { + if (size == sizeof(struct GBAExtdataHeader)) { return true; } struct GBAExtdataHeader* header = malloc(size);