[cmucl-commit] [git] CMU Common Lisp branch master updated. 20f-56-g7fa26f3

Raymond Toy rtoy at common-lisp.net
Mon Oct 27 02:52:27 UTC 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMU Common Lisp".

The branch, master has been updated
       via  7fa26f32137fb1372406dff479689864f74601ca (commit)
      from  9829658f5c0ac762e7b939014a012dd2d558e73a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 7fa26f32137fb1372406dff479689864f74601ca
Author: Raymond Toy <toy.raymond at gmail.com>
Date:   Sun Oct 26 19:52:17 2014 -0700

    Fix issue in sending a boolean created from a pointer in
    RXmStringEtLtoR.
    
    Fix from Richard Kreuter.  This makes his clm-young::chooseone demo
    work reliably.  Richard writes:
    
        The detail that this patch affects is non-deterministic:
    
        RXmStringGetLtoR in xmstring.c calls message_write_boolean on a
        pointer, message_write_boolean in datatrans.c calls
        combine_type_and_data with the pointer and the boolean type tag,
        and combine_type_and_data in datatrans.h IORs the boolean type tag
        with the bits 25 to 32 from the start of the pointer.
    
        This gave a decoding error on the Lisp side in TOOLKIT-READ-VALUE,
        because the high 8 bits of the 32 bits being decoded indexed past
        the end of *TYPE-TABLE*. (But other incorrect outcomes are
        possible, e.g., the result of combine_type_and_data could index a
        valid, but wrong, type code, etc.)

diff --git a/src/motif/server/xmstring.c b/src/motif/server/xmstring.c
index 8202826..f983d4f 100644
--- a/src/motif/server/xmstring.c
+++ b/src/motif/server/xmstring.c
@@ -145,7 +145,7 @@ void RXmStringGetLtoR(message_t message)
   result = XmStringGetLtoR(xs,charset,&text);
 
   message_write_string(reply,text,string_tag);
-  message_write_boolean(reply,text,boolean_tag);
+  message_write_boolean(reply,(result==True)?1:0,boolean_tag);
   message_send(client_socket,reply);
   message_free(reply);
 

-----------------------------------------------------------------------

Summary of changes:
 src/motif/server/xmstring.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
CMU Common Lisp


More information about the cmucl-commit mailing list