--- kanjidic.c 2006-10-29 11:17:36.000000000 -0600 +++ kanjidic.c 2012-10-16 19:23:16.045662146 -0500 @@ -795,6 +795,8 @@ error = TRUE; } radkfile = (gchar *) mmap(NULL, radkfile_size, PROT_READ, MAP_SHARED, fd, 0); + close(fd); + if (radkfile == NULL) gjiten_abort_with_msg("mmap() failed for radkfile\n"); if (error == TRUE) { @@ -946,6 +948,8 @@ KanjiDic *tmp; radical_window_close(); + if(!munmap(radkfile,radkfile_size))radkfile=NULL; //release radkfile mmap + /* Avoid recursion */ tmp = kanjiDic; kanjiDic = NULL;