GNU bug report logs - #23741
25.0.94; dbus crashes on 32-bit Cygwin

Previous Next

Package: emacs;

Reported by: Ken Brown <kbrown <at> cornell.edu>

Date: Fri, 10 Jun 2016 16:13:01 UTC

Severity: important

Found in version 25.0.94

Done: Ken Brown <kbrown <at> cornell.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Ken Brown <kbrown <at> cornell.edu>
Cc: 23741 <at> debbugs.gnu.org
Subject: bug#23741: 25.0.94; dbus crashes on 32-bit Cygwin
Date: Sat, 11 Jun 2016 10:34:55 +0300
> From: Ken Brown <kbrown <at> cornell.edu>
> Date: Fri, 10 Jun 2016 17:11:11 -0400
> 
> On 6/10/2016 12:12 PM, Ken Brown wrote:
> > I suspect that there is a simple solution, which involves storing the connection address in a Lisp Object of type other than integer, but I'll leave that to the experts.
> 
> The following seems to fix it:
> 
> diff --git a/src/dbusbind.c b/src/dbusbind.c
> index d3a32c0..56bfd71 100644
> --- a/src/dbusbind.c
> +++ b/src/dbusbind.c
> @@ -943,7 +943,7 @@ xd_get_connection_references (DBusConnection *connection)
>  static DBusConnection*
>  xd_lisp_dbus_to_dbus (Lisp_Object bus)
>  {
> -  return (DBusConnection *) (intptr_t) XFASTINT (bus);
> +  return (DBusConnection *) XSAVE_POINTER (bus, 0);
>  }
> 
>  /* Return D-Bus connection address.  BUS is either a Lisp symbol,
> @@ -1187,7 +1187,7 @@ this connection to those buses.  */)
>         XD_SIGNAL1 (build_string ("Cannot add watch functions"));
> 
>        /* Add bus to list of registered buses.  */
> -      XSETFASTINT (val, (intptr_t) connection);
> +      val = make_save_ptr (connection);
>        xd_registered_buses = Fcons (Fcons (bus, val), xd_registered_buses);
> 
>        /* Cleanup.  */

Thanks, please push to the release branch.




This bug report was last modified 8 years and 343 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.