瀏覽代碼

mcd, fix memory leaks

kub 3 年之前
父節點
當前提交
ef3241d203
共有 2 個文件被更改,包括 3 次插入2 次删除
  1. 2 2
      pico/cd/cdd.c
  2. 1 0
      pico/cd/mcd.c

+ 2 - 2
pico/cd/cdd.c

@@ -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 */

+ 1 - 0
pico/cd/mcd.c

@@ -24,6 +24,7 @@ PICO_INTERNAL void PicoInitMCD(void)
 
 PICO_INTERNAL void PicoExitMCD(void)
 {
+  cdd_unload();
 }
 
 PICO_INTERNAL void PicoPowerMCD(void)