From 25aedbde21ff2db7fee47953ed4f6dc100903439 Mon Sep 17 00:00:00 2001 From: Xavi Del Campo Date: Fri, 31 Jan 2020 22:19:19 +0100 Subject: [PATCH] Fixed buffer overflow --- tools/exefixup.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/tools/exefixup.c b/tools/exefixup.c index 7f555dc..06ea057 100644 --- a/tools/exefixup.c +++ b/tools/exefixup.c @@ -1,4 +1,4 @@ -/* +/* * exefixup.c v0.02.1 Andrew Kieschnick * (v0.02.1): Giuseppe Gatta * @@ -57,7 +57,7 @@ int main(int argc, char *argv[]) { FILE *exe; FILE *out; - unsigned char data[8]; + unsigned char data[9]; char filename[256]; int i; unsigned int header_data[12]; @@ -91,7 +91,7 @@ int main(int argc, char *argv[]) printf("ERROR: Not a PS-X EXE file\n"); exit(-1); } - + for(i=0;i<12;i++) { fscanf(exe, "%c", &data[0]); @@ -116,7 +116,7 @@ int main(int argc, char *argv[]) printf("s_size\t0x%.8x\n\n", header_data[11]); fseek(exe, 0, SEEK_END); - + size=ftell(exe)-2048; padsize=2048-(size%2048); @@ -133,7 +133,7 @@ int main(int argc, char *argv[]) if (yesno=='Y') { out = fopen(filename, "w"); - + header_data[5]=size+padsize; fprintf(out, "PS-X EXE"); @@ -142,7 +142,7 @@ int main(int argc, char *argv[]) int2char(header_data[i], data); fprintf(out, "%c%c%c%c", data[0], data[1], data[2], data[3]); } - + fseek(exe, 56, SEEK_SET); for(i=0;i