From 0ba656ab48e0d46870f97cb10a094a76450328d3 Mon Sep 17 00:00:00 2001 From: ryancaicse <73822648+ryancaicse@users.noreply.github.com> Date: Mon, 7 Feb 2022 15:12:52 +0800 Subject: [PATCH 1/4] Fix resource leaks in psp-prxgen.c Fix resource leaks in psp-prxgen.c --- tools/psp-prxgen.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/psp-prxgen.c b/tools/psp-prxgen.c index d8000108..c68252bc 100644 --- a/tools/psp-prxgen.c +++ b/tools/psp-prxgen.c @@ -132,6 +132,7 @@ unsigned char *load_file(const char *file) if(size < sizeof(Elf32_Ehdr)) { fprintf(stderr, "Error, invalid file size\n"); + fclose(fp); break; } @@ -139,6 +140,7 @@ unsigned char *load_file(const char *file) if(data == NULL) { fprintf(stderr, "Error, could not allocate memory for ELF\n"); + fclose(fp); break; } From 64d91e402ad155648247c71e08d56c7afba32834 Mon Sep 17 00:00:00 2001 From: ryancaicse <73822648+ryancaicse@users.noreply.github.com> Date: Mon, 7 Feb 2022 15:13:51 +0800 Subject: [PATCH 2/4] Fix resouce leaks in psp-fixup-imports.c Fix resouce leaks in psp-fixup-imports.c --- tools/psp-fixup-imports.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/psp-fixup-imports.c b/tools/psp-fixup-imports.c index c9d838b6..5aec7d39 100644 --- a/tools/psp-fixup-imports.c +++ b/tools/psp-fixup-imports.c @@ -183,6 +183,7 @@ unsigned char *load_file(const char *file, unsigned int *size) if(*size < sizeof(Elf32_Ehdr)) { fprintf(stderr, "Error, invalid file size\n"); + fclose(fp); break; } @@ -190,6 +191,7 @@ unsigned char *load_file(const char *file, unsigned int *size) if(data == NULL) { fprintf(stderr, "Error, could not allocate memory for ELF\n"); + fclose(fp); break; } From a78df049963507e4950b22947e7b823be8feb7c7 Mon Sep 17 00:00:00 2001 From: ryancaicse <73822648+ryancaicse@users.noreply.github.com> Date: Mon, 7 Feb 2022 15:16:25 +0800 Subject: [PATCH 3/4] Fix resource leaks in bin2o.c Fix resource leaks in bin2o.c --- tools/bin2o.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/bin2o.c b/tools/bin2o.c index f946937f..eff63407 100644 --- a/tools/bin2o.c +++ b/tools/bin2o.c @@ -362,17 +362,20 @@ int main(int argc, char *argv[]) buffer = malloc(size); if (buffer == NULL) { printf("Failed to allocate memory.\n"); + fclose(dest); return 1; } if (fread(buffer, 1, size, source) != size) { printf("Failed to read file.\n"); + fclose(dest); return 1; } fclose(source); if (!(dest = fopen(f_dest, "wb+"))) { printf("Failed to open/create %s.\n", f_dest); + fclose(dest); return 1; } From 72f3714247a83ef65cc8026f67cbec25a1fa617d Mon Sep 17 00:00:00 2001 From: ryancaicse <73822648+ryancaicse@users.noreply.github.com> Date: Mon, 7 Feb 2022 15:18:17 +0800 Subject: [PATCH 4/4] Fix resource leaks in bin2s.c Fix resource leaks in bin2s.c --- tools/bin2s.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/bin2s.c b/tools/bin2s.c index de0837f9..a449bbc0 100644 --- a/tools/bin2s.c +++ b/tools/bin2s.c @@ -40,11 +40,13 @@ int main(int argc, char *argv[]) buffer = malloc(fd_size); if(buffer == NULL) { printf("Failed to allocate memory.\n"); + fclose(source); return 1; } if(fread(buffer,1,fd_size,source) != fd_size) { printf("Failed to read file.\n"); + fclose(source); return 1; } fclose(source);