[PyQt] SIP 4.13.1 crash when using exceptions

Phil Thompson phil at riverbankcomputing.com
Sun Feb 5 12:09:06 GMT 2012


On Fri, 3 Feb 2012 21:19:50 +0100, Jürgen E. Fischer <jef at norbit.de>
wrote:
> Hi there,
> 
> we recently started to support exceptions in the sip bindings of Quantum
> GIS.
> Apparently there is a problem in 4.13.1 that causes sip to crash on 32
bit
> platform.
> 
> The problem seems to be that type_header_code is referenced on a path
where
> it's not intialized.  The following patch fixes it for me:
> 
> --- ../orig/sip4-4.13.1/sipgen/parser.y 2011-12-19 13:29:28.000000000
+0100
> +++ sipgen/parser.y     2012-02-03 22:05:25.810230624 +0100
> @@ -792,7 +792,8 @@ exception:  TK_EXCEPTION scopedname base
> 
>                  /* Complete the definition. */
>                  xd->iff->module = currentModule;
> -                appendCodeBlock(&xd->iff->hdrcode,
$5.type_header_code);
> +                if( $5.token == TK_TYPEHEADERCODE )
> +                    appendCodeBlock(&xd->iff->hdrcode,
> $5.type_header_code);
>                  xd->pyname = pyname;
>                  xd->bibase = $3.bibase;
>                  xd->base = $3.base;
> 
> 
> See http://hub.qgis.org/issues/4941 for a more detailed description.

Thanks - fixed (differently) in hg.

Phil


More information about the PyQt mailing list