I am attaching a minimal patch that fixes the segfault.  I will make a
new version this week, I have one more issue to deal with still.

Jiri

On Mon, Mar 22, 2010 at 3:27 PM, Mark Brown <broo...@sirena.org.uk> wrote:
> Hi George,
>
> The enclosed bug report was submitted against the Debian package (I'm
> also including the offending .gob file).  I've not yet had a chance to
> investigate it.
>
> Thanks,
> Mark
>
>
> ---------- Forwarded message ----------
> From: Joachim Breitner <nome...@debian.org>
> To: Debian Bug Tracking System <sub...@bugs.debian.org>
> Date: Thu, 18 Mar 2010 23:05:53 +0100
> Subject: Bug#574542: gob2 segfaults
> Package: gob2
> Version: 2.0.16-1
> Severity: important
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi,
>
> I just stumbled over a segfault in gob2. I hope you can reproduce it:
>
> Download the source code of link-monitor-applet (e.g. apt-get source
> link-monitor-applet) and enter the directory.
> $ rm -rf build/
> $ /usr/bin/gob2  --always-private-header --no-touch --exit-on-warn 
> --output-dir=build/src  src/lm-line-graph.gob
> Speicherzugriffsfehler
>
> This is obviously a bug in gob2.
>
> Thanks,
> Joachim
>
>
> - -- System Information:
> Debian Release: squeeze/sid
>  APT prefers unstable
>  APT policy: (500, 'unstable'), (1, 'experimental')
> Architecture: amd64 (x86_64)
>
> Kernel: Linux 2.6.32-3-amd64 (SMP w/2 CPU cores)
> Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
>
> Versions of packages gob2 depends on:
> ii  libc6                         2.10.2-6   Embedded GNU C Library: Shared 
> lib
> ii  libglib2.0-0                  2.22.4-1   The GLib library of C routines
>
> gob2 recommends no packages.
>
> gob2 suggests no packages.
>
> - -- no debconf information
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iEYEARECAAYFAkuio8EACgkQ9ijrk0dDIGw/UwCgyEXB7NYZnNw2BrPJUUGKw+a5
> vasAoLxLoA3fmwU4e8V2F2WuY3dic4lZ
> =Rfbb
> -----END PGP SIGNATURE-----
>
>
>
>
>



-- 
Jiri (George) Lebl, http://www.math.uiuc.edu/~jlebl/ or http://www.jirka.org/
diff --git a/src/parse.y b/src/parse.y
index b8792bb..9c880cf 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -156,7 +157,11 @@ push_function (int scope, int method, char *oid, char *id,
 
 	g_assert(scope != CLASS_SCOPE);
        
-	if(method == INIT_METHOD || method == CLASS_INIT_METHOD) {
+	if(method == INIT_METHOD ||
+	   method == CLASS_INIT_METHOD ||
+	   method == CONSTRUCTOR_METHOD ||
+	   method == DISPOSE_METHOD ||
+	   method == FINALIZE_METHOD) {
 		type = (Type *)node_new (TYPE_NODE,
 					 "name", "void",
 					 NULL);

Reply via email to