Index: libmenu/menu_filesel.c =================================================================== RCS file: /cvsroot/mplayer/main/libmenu/menu_filesel.c,v retrieving revision 1.10 diff -u -r1.10 menu_filesel.c --- libmenu/menu_filesel.c 15 Aug 2003 18:45:35 -0000 1.10 +++ libmenu/menu_filesel.c 22 Jul 2005 00:03:10 -0000 @@ -177,6 +177,8 @@ } bailout: + closedir(dirp); + qsort(namelist, n, sizeof(char *), (kill_warn)compare); if (n < 0) { Index: osdep/scandir.c =================================================================== RCS file: /cvsroot/mplayer/main/osdep/scandir.c,v retrieving revision 1.1 diff -u -r1.1 scandir.c --- osdep/scandir.c 26 Nov 2002 18:31:30 -0000 1.1 +++ osdep/scandir.c 22 Jul 2005 00:03:10 -0000 @@ -87,7 +87,7 @@ /* duplicate struct direct for this entry */ len = offsetof(struct dirent, d_name) + strlen(ent->d_name) + 1; if ((ent2 = malloc(len)) == NULL) - return -1; + goto error; if (used >= allocated) { allocated *= 2; @@ -109,6 +109,8 @@ error: + closedir(dir); + if (namelist) { for (i = 0; i < used; i++) free(namelist[i]);