Comment 27 for bug 754470

Revision history for this message
Chase Douglas (chasedouglas) wrote :

Emmanuel,

The XRecord library is in libXtst. In its async handler (record_async_handler), there's no checking of the X reply type other than to check whether it's an error or not. If it gets a non error reply, then it assumes it's a record reply without actually checking. This will cause undefined execution once we get to parse_reply_call_callback.

The next step would be to add a check in record_async_handler to determine if the reply is really an xrecord reply. If not, just toss it and move on. I'll make a test package for this in a bit, but it's end of day for me so someone may beat me to the punch :).