--- a/dbus/dbus-marshal-basic.c.ORIG 2008-04-23 17:54:58.000000000 -0400 +++ b/dbus/dbus-marshal-basic.c 2008-04-23 18:00:06.000000000 -0400 @@ -518,7 +518,7 @@ _dbus_marshal_read_basic (const DBusStri switch (type) { case DBUS_TYPE_BYTE: - vp->byt = _dbus_string_get_byte (str, pos); + *((volatile char *)&vp->byt) = _dbus_string_get_byte (str, pos); (pos)++; break; case DBUS_TYPE_INT16: