Package: gjiten
Version: 2.6-1
Followup-For: Bug #445042
Hi,
Since I was already debugging for my bug (#445042), I also created a
patch for this bug.
It seems the kanji file is being cached in globals, but not correctly
reset when the window is closed. Again, I don't know for the other
globals... maybe more needs to be reset to NULL.
I also close the original file after the mmap() because it would leak
after this patch, and I hope I didn't trigger any other memleaks :)
John
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.18-4-686 (SMP w/1 CPU core)
Locale: LANG=C, LC_CTYPE=nl_NL (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/bash
Versions of packages gjiten depends on:
ii edict 2007.02.09-1 English / Japanese dictionary
ii gconf2 2.18.0.1-3 GNOME configuration database syste
ii kanjidic 2007.09.14-1 A Kanji Dictionary
ii libart-2.0-2 2.3.19-3 Library of functions for 2D graphi
ii libatk1.0-0 1.20.0-1 The ATK accessibility toolkit
ii libbonobo2-0 2.18.0-2 Bonobo CORBA interfaces library
ii libbonoboui2-0 2.20.0-1 The Bonobo UI library
ii libc6 2.6.1-2 GNU C Library: Shared libraries
ii libcairo2 1.4.10-1 The Cairo 2D vector graphics libra
ii libfontconfig1 2.4.2-1.2 generic font configuration library
ii libgconf2-4 2.18.0.1-3 GNOME configuration database syste
ii libglade2-0 1:2.6.2-1 library to load .glade files at ru
ii libglib2.0-0 2.14.0-2 The GLib library of C routines
ii libgnome-keyring0 0.8.1-2 GNOME keyring services library
ii libgnome2-0 2.18.0-4 The GNOME 2 library - runtime file
ii libgnomecanvas2-0 2.14.0-3 A powerful object-oriented display
ii libgnomeui-0 2.20.0-1 The GNOME 2 libraries (User Interf
ii libgnomevfs2-0 1:2.20.0-1 GNOME Virtual File System (runtime
ii libgtk2.0-0 2.12.0-2 The GTK+ graphical user interface
ii libice6 2:1.0.4-1 X11 Inter-Client Exchange library
ii liborbit2 1:2.14.7-0.1 libraries for ORBit2 - a CORBA ORB
ii libpango1.0-0 1.18.2-1 Layout and rendering of internatio
ii libpopt0 1.10-3 lib for parsing cmdline parameters
ii libsm6 2:1.0.3-1+b1 X11 Session Management library
ii libx11-6 2:1.0.3-7 X11 client-side library
ii libxcursor1 1:1.1.9-1 X cursor management library
ii libxext6 1:1.0.3-2 X11 miscellaneous extension librar
ii libxfixes3 1:4.0.3-2 X11 miscellaneous 'fixes' extensio
ii libxi6 2:1.1.3-1 X11 Input extension library
ii libxinerama1 1:1.0.2-1 X11 Xinerama extension library
ii libxml2 2.6.30.dfsg-2 GNOME XML library
ii libxrandr2 2:1.2.2-1 X11 RandR extension library
ii libxrender1 1:0.9.3-1 X Rendering Extension client libra
Versions of packages gjiten recommends:
ii ttf-kochi-mincho 1.0.20030809-4 Kochi Subst Mincho Japanese TrueTy
ii ttf-sazanami-mincho 0.0.1.20040629-3 Sazanami Mincho Japanese TrueType
-- no debconf information
--- gjiten-2.6/src/kanjidic.c 2006-10-29 18:17:36.000000000 +0100
+++ gjiten-2.6.patched/src/kanjidic.c 2007-10-02 22:22:54.444053437 +0200
@@ -796,6 +796,7 @@
}
radkfile = (gchar *) mmap(NULL, radkfile_size, PROT_READ, MAP_SHARED, fd, 0);
if (radkfile == NULL) gjiten_abort_with_msg("mmap() failed for radkfile\n");
+ close(fd); // close the file to avoid leaking filedescriptors
if (error == TRUE) {
gjiten_print_error(_("Error opening %s.\n "\
@@ -945,6 +946,9 @@
if (kanjiDic != NULL) {
KanjiDic *tmp;
radical_window_close();
+ if (radkfile)
+ munmap(radkfile, radkfile_size);
+ radkfile = NULL;
/* Avoid recursion */
tmp = kanjiDic;