Fix memory corruption bug in GBAExtdataSerialize

This commit is contained in:
nattthebear 2016-02-25 21:25:30 -05:00 committed by Jeffrey Pfau
parent 9f6837da42
commit 86a2c45848
1 changed files with 3 additions and 3 deletions

View File

@ -514,14 +514,14 @@ bool GBAExtdataGet(struct GBAExtdata* extdata, enum GBAExtdataTag tag, struct GB
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);