mcd, fix memory leaks
authorkub <derkub@gmail.com>
Fri, 12 Mar 2021 21:09:17 +0000 (22:09 +0100)
committerkub <derkub@gmail.com>
Fri, 12 Mar 2021 21:09:17 +0000 (22:09 +0100)
pico/cd/cdd.c
pico/cd/mcd.c

index 8fa16e1..fd78c35 100644 (file)
@@ -450,7 +450,7 @@ int cdd_unload(void)
       pm_close(cdd.toc.tracks[0].fd);
       cdd.toc.tracks[0].fd = NULL;
       if (cdd.toc.tracks[0].fname)
-        free(cdd.toc.tracks[0].fd);
+        free(cdd.toc.tracks[0].fname);
       cdd.toc.tracks[0].fname = NULL;
     }
 
@@ -473,7 +473,7 @@ int cdd_unload(void)
           pm_close(cdd.toc.tracks[i].fd);
         cdd.toc.tracks[i].fd = NULL;
         if (cdd.toc.tracks[i].fname)
-          free(cdd.toc.tracks[i].fd);
+          free(cdd.toc.tracks[i].fname);
         cdd.toc.tracks[i].fname = NULL;
 
         /* detect single file images */
index ef21ca6..559fca7 100644 (file)
@@ -24,6 +24,7 @@ PICO_INTERNAL void PicoInitMCD(void)
 
 PICO_INTERNAL void PicoExitMCD(void)
 {
+  cdd_unload();
 }
 
 PICO_INTERNAL void PicoPowerMCD(void)