Hi

If I use
/*
      if (settings_get_output_routing (type) & d->device_type)
*/
        d->class->submit (d, item);
also the program crashes.

Obviously it is option 2. So I looked in the wrong place :-(

Have fun


2012/1/15 John Darrington <j...@darrington.wattle.id.au>

> On Sat, Jan 14, 2012 at 11:18:22PM +0100, Harry Thijssen wrote:
>     Hi the problem comes from line 695 in settings.c :
>
>       return the_settings.output_routing[type] |
> SETTINGS_DEVICE_UNFILTERED;
>
>     If this line is commented out, the program doesn't abort.
>
>     And now I am lost again. No idea how to come further.
>
> This function ( settings_get_output_routing ) has only one caller.  That
> is in
> output/driver.c: (output_submit__) :
>
>      if (settings_get_output_routing (type) & d->device_type)
>        d->class->submit (d, item);
>
> If you have removed the return statement, and the crash doesn't occur,
> this could be for one of two reason:
>
> 1. The crash was due to the expression the_settings.output_routing[type]
>   causing a buffer overflow (unlikely, but possible; check the value of
>   "type")
>
> 2. Your change has caused the if-condition to evaluate to false, and
>   therefore the line
>      d->class->submit (d, item);
>   (which is where the problem lies) is no longer being called.
>
> We need to find out which of these reasons it is.
> What happens if you comment out the line
>
>      if (settings_get_output_routing (type) & d->device_type)
>
>
> J'
>
> --
> PGP Public key ID: 1024D/2DE827B3
> fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
> See http://keys.gnupg.net or any PGP keyserver for public key.
>
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
>
> iD8DBQFPEng1imdxnC3oJ7MRAmq5AJ9BS/LkJ/x1T0NhgOfGZyNjU53ZlQCdFxER
> aDxitH9yRF2Ogejwi7X9GgM=
> =aJyO
> -----END PGP SIGNATURE-----
>
>
_______________________________________________
pspp-dev mailing list
pspp-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/pspp-dev

Reply via email to