Bug#448386: yelp: Crashes when opening some HTML files

Ben Hutchings ben at decadent.org.uk
Sun Oct 28 17:21:34 UTC 2007


Package: yelp
Version: 2.20.0-1
Severity: important
Tags: patch

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

With sgt-puzzles and yelp installed, the command "yelp
file:///usr/share/sgt-puzzles/help/index.html" dies with SIGSEGV.
Here's a backtrace (using an unstripped build and libxul0-dbg):

#0  0xb7473513 in strlen () from /lib/i686/cmov/libc.so.6
#1  0xb766492e in EmbedPrivate::OpenStream (this=0x83e4430, aBaseURI=0x0, 
    aContentType=0x8072ac7 "text/html")
    at ../../../../dist/include/string/nsCharTraits.h:552
#2  0xb76616f9 in gtk_moz_embed_open_stream (embed=0x83c2310, base_uri=0x0, 
    mime_type=0x8072ac7 "text/html") at gtkmozembed2.cpp:951
#3  0x08056ef0 in yelp_html_open_stream (html=0x83c2310, 
    mime=0x8072ac7 "text/html") at yelp-html.cpp:318
#4  0x0805bdd4 in window_do_load_html (window=0x82cb018, 
    uri=<value optimized out>, frag_id=<value optimized out>, 
    type=YELP_RRN_TYPE_HTML, need_history=1) at yelp-window.c:1598
#5  0x0805b32b in yelp_window_load (window=0x82cb018, 
    uri=0x80aaa10 "file:///usr/share/sgt-puzzles/help/index.html")
    at yelp-window.c:1043
#6  0x08053ab0 in yelp_base_new_window (base=0x807d0a0, 
    uri=0x80aaa10 "file:///usr/share/sgt-puzzles/help/index.html", 
    startup_id=0x80a7c50 "_TIME476378982") at yelp-base.c:270
#7  0x08053b0f in server_new_window (base=0x807d0a0, 
    url=0x80aaa10 "file:///usr/share/sgt-puzzles/help/index.html", 
    timestamp=0x80a7c50 "_TIME476378982", error=0xbf9d9b90) at yelp-base.c:124
#8  0x0805f7e2 in main (argc=Cannot access memory at address 0x0
) at yelp-main.c:118

Before this, glib warns:

(yelp:9791): GLib-CRITICAL **: g_filename_to_uri: assertion `filename != NULL' failed

It seems that the function window_do_load_html will *always* pass
NULL to g_filename_to_uri.  The following change appears to fix this.

- --- src/yelp-window.c~	2007-10-28 17:20:07.000000000 +0000
+++ src/yelp-window.c	2007-10-28 17:15:08.000000000 +0000
@@ -1584,7 +1584,7 @@
 	goto done;
     }
 
- -    base_uri = g_filename_to_uri (real_uri, NULL, NULL);
+    base_uri = g_filename_to_uri (uri, NULL, NULL);
     if (frag_id) {
 	real_uri = g_strconcat (base_uri, "#", frag_id);
 	g_free (base_uri);
- -- END --

Ben.

- -- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (100, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.22-2-686 (SMP w/1 CPU core)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages yelp depends on:
ii  docbook-xml             4.5-5            standard XML documentation system,
ii  gconf2                  2.20.0-1         GNOME configuration database syste
ii  gnome-doc-utils         0.12.0-1         a collection of documentation util
ii  libbz2-1.0              1.0.3-7          high-quality block-sorting file co
ii  libc6                   2.6.1-6          GNU C Library: Shared libraries
ii  libdbus-glib-1-2        0.74-1           simple interprocess messaging syst
ii  libgcc1                 1:4.2.2-3        GCC support library
ii  libgconf2-4             2.20.0-1         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.2-1         The GLib library of C routines
ii  libgnome2-0             2.20.1.1-1       The GNOME 2 library - runtime file
ii  libgnomeui-0            2.20.1.1-1       The GNOME 2 libraries (User Interf
ii  libgnomevfs2-0          1:2.20.0-3       GNOME Virtual File System (runtime
ii  libgtk2.0-0             2.12.1-1         The GTK+ graphical user interface 
ii  libpango1.0-0           1.18.3-1         Layout and rendering of internatio
ii  librarian0              0.6.0-1          Rarian is a documentation meta-dat
ii  libstartup-notification 0.9-1            library for program launch feedbac
ii  libstdc++6              4.2.2-3          The GNU Standard C++ Library v3
ii  libx11-6                2:1.0.3-7        X11 client-side library
ii  libxml2                 2.6.30.dfsg-2    GNOME XML library
ii  libxslt1.1              1.1.22-1         XSLT processing library - runtime 
ii  libxul0d                1.8.1.6-1        Gecko engine library
ii  xml-core                0.11             XML infrastructure and XML catalog
ii  zlib1g                  1:1.2.3.3.dfsg-6 compression library - runtime

Versions of packages yelp recommends:
ii  ttf-dejavu                    2.20-1     Metapackage to pull in ttf-dejavu-

- -- no debconf information

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHJMUe79ZNCRIGYgcRAmTtAJ46nckf2kE9MtpH/jzRO1olTTymxQCgw/lI
sU2/znYzI79vR3rxTGNfNg4=
=EyPt
-----END PGP SIGNATURE-----






More information about the pkg-gnome-maintainers mailing list