Hi, We will fix that for the next glipper version. We will use gconf for the preferences.
Bye Am Sonntag, den 05.08.2007, 11:13 +0200 schrieb Philipp Kern: > Package: glipper > Version: 0.95.1-1 > Severity: important > > Hi Neil, hi Sven, > > Glipper uses binary files to store both history and preferences. The > fields are just dumped from memory to disk, without any endianess > conversion, nor with fixed field widths, it uses the system's integer > size (size_t) to determine how long the field should be. > > This means that Glipper's preferences and history files could not be > used in a heterogeneous environment with different architectures. We > have the home directory on NFS and both x86 and x86_64 machines > accessing it. > > Actually Glipper crashed in memcpy/libc6 caused by this code, on x86_64: > | (src/main.c:516) > | size_t len; > | fread(&len, sizeof(size_t), 1, prefFile); > | if (!feof(prefFile)) > | { > | keyComb = malloc(len+1); > | fgets(keyComb, len+1, prefFile); > > As 64 bits were read into `len' instead of the 32 bits saved the malloc > and fgets just look funny here and it's nice that it just crashed and > did not allocate vast amounts of memory instead. > > That's the code to read the preferences file. Could it be ported to use > another configuration backend, like e.g. gconf? For the history file, > which shares the same problem, you could probably "fix" the issue by > inserting a header which specifies integer size, endianess (and > version) and either discard its content when the current compile > settings differ or do appropriate conversions. > > Thanks for your time reading so far, it would be nice if this could be > fixed upstream in Glipper. > > Kind regards, > Philipp Kern > Debian Developer -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]