summaryrefslogtreecommitdiff
path: root/firmware/common/zip.c
diff options
context:
space:
mode:
authorWilliam Wilgus <wilgus.william@gmail.com>2022-10-15 09:08:09 -0400
committerWilliam Wilgus <me.theuser@yahoo.com>2022-10-15 09:26:58 -0400
commit12ef045fdf5a9e2b4d5618cc3b7ba50ecc0ccf69 (patch)
treeb4885951a5cba1b78c21b30ce37a1d6f1574aa5f /firmware/common/zip.c
parent9d3d925295112a0080bc1d70fad170db9e1af2a9 (diff)
downloadrockbox-12ef045fdf5a9e2b4d5618cc3b7ba50ecc0ccf69.tar.gz
rockbox-12ef045fdf5a9e2b4d5618cc3b7ba50ecc0ccf69.zip
move buflib_free invalid handle check to the function
allow buflib_free to check for invalid or already freed handles within the function -- remove all the invalid handle guards thru core_free Change-Id: Ibdcbc82760fc93b674c42283fca420d94907df8e
Diffstat (limited to 'firmware/common/zip.c')
-rw-r--r--firmware/common/zip.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/firmware/common/zip.c b/firmware/common/zip.c
index 36b90a9223..22c6226e3b 100644
--- a/firmware/common/zip.c
+++ b/firmware/common/zip.c
@@ -237,8 +237,7 @@ static int zip_read_ed(struct zip* z) {
237 rv = 0; 237 rv = 0;
238 238
239bail: 239bail:
240 if (mem_handle >= 0) 240 core_free(mem_handle);
241 core_free(mem_handle);
242 return rv; 241 return rv;
243} 242}
244 243
@@ -337,10 +336,9 @@ static int zip_read_cd(struct zip* z, bool use_cb) {
337 rv = 0; 336 rv = 0;
338 337
339bail: 338bail:
340 if (rv != 0 && cds_handle >= 0) 339 if (rv != 0)
341 core_free(cds_handle); 340 core_free(cds_handle);
342 if (mem_handle >= 0) 341 core_free(mem_handle);
343 core_free(mem_handle);
344 return rv; 342 return rv;
345} 343}
346 344
@@ -497,8 +495,7 @@ static int zip_read_entries(struct zip* z) {
497 rv = 0; 495 rv = 0;
498 496
499bail: 497bail:
500 if (mem_handle >= 0) 498 core_free(mem_handle);
501 core_free(mem_handle);
502 return rv; 499 return rv;
503} 500}
504 501
@@ -754,10 +751,8 @@ struct zip* zip_open(const char* name, bool try_mem) {
754bail: 751bail:
755 if (file >= 0) 752 if (file >= 0)
756 close(file); 753 close(file);
757 if (mem_handle >= 0) 754 core_free(mem_handle);
758 core_free(mem_handle); 755 core_free(zip_handle);
759 if (zip_handle >= 0)
760 core_free(zip_handle);
761 return NULL; 756 return NULL;
762} 757}
763 758
@@ -875,8 +870,7 @@ void zip_close(struct zip* z) {
875 870
876 z->close(z); 871 z->close(z);
877 872
878 if (z->cds_handle >= 0) 873 core_free(z->cds_handle);
879 core_free(z->cds_handle);
880 874
881 core_free(z->zip_handle); 875 core_free(z->zip_handle);
882} 876}