Summary: | gnome-vfs-2.8.1 has a bug in parsing locale entries of .desktop files | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Alexandre Rostovtsev (RETIRED) <tetromino> |
Component: | [OLD] GNOME | Assignee: | Mozilla Gentoo Team <mozilla> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | gnome |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 66864 | ||
Attachments: |
gnome-vfs-2.8.1-locale_parsing.patch
gnome-vfs-2.8.1-r1.ebuild |
Description
Alexandre Rostovtsev (RETIRED)
2004-10-07 15:32:24 UTC
Hi, Had something similar a week or two back. What's the output of gcc-config -l? Normally you should get list of available profiles, maybe such: ... [1] i686-pc-linux-gnu-3.3.4 [2] i686-pc-linux-gnu-3.4.2-r2 ... Using hardened profile too. If you get an error saying that can't fine profile the problem is with GCC-3.4.2. There is resolved BUG with this error. Also you have 'old' version of binutils-0.14.... i'm using 0.15... Same applies to glibc-2.3.3-20040420 (mine is glibc-2.3.4-20040808..) PS:last two lines may be OT here. Also using an 'old' profile - 1.4. Some things in your system are quite new (GCC) other are rather old (binutils,glibc, profile). Any info in the logs? This is just a shot in the dark. HTH Rumen Re Rumen: $ gcc-config -l [1] i686-pc-linux-gnu-3.3.4 [2] i686-pc-linux-gnu-3.4.2 [3] i686-pc-linux-gnu-3.4.2-hardenednossp [4] i686-pc-linux-gnu-3.4.2-vanilla I am using glibc 20040420 because I haven't been able to compile any later ones (they all fail maketest, so I don't want to risk installing them). My binutils are up-to-date in x86. There is nothing interesting in the logs. And I am using 1.4 profile because I've been running gentoo since early 2003 - and it hasn't caused any problems so far. OK, this is *not* a problem with firefox - this is simply a bug in gnome-vfs-2.8.1 that happened to get triggered by firefox on my system (mozilla, nautilus, and a few gnome apps trigger it also). In eggdesktopentries.c we have : if (!q) country_len = q - p; else country_len = strlen (p); if (country_len <= 0) return NULL; country = g_new (gchar, country_len + 1); where q is NULL or a substring of p, and the goal is to set country_len to be the length of the part of p that precedes q. Clearly this doesn't work - if q is NULL, country_len gets set to q-p = 0 - (some address) = really_big_number, and we overflow badly in g_new. To get the correct behavior, we need to switch the order of the two assignments of country_len. Created attachment 42663 [details, diff]
gnome-vfs-2.8.1-locale_parsing.patch
Patch to cure the bug (locale parsing in .desktop files overflows g_new)
described above
Created attachment 42664 [details]
gnome-vfs-2.8.1-r1.ebuild
ebuild to use the patch
this was reported upstream as http://bugzilla.gnome.org/show_bug.cgi?id=153759 i used the complete patch from upstream for gnome-vfs-2.8.1-r1 thanks for the report & investigation |