On Tue, 06 Aug 2013 14:20:12 +0200
Michal Srb <m...@suse.com> wrote:

> XVnc identifies connection that is being currently queried with 
> queryConnectId 
> variable. That is void* actually containing pointer to TcpSocket allocated in 
> TcpListener::accept().
> 
> The lower 32 bits are given to client in ProcVncExtGetQueryConnect:
>   rep.opaqueId = (CARD32)(long)queryConnectId;
> 
> But in ProcVncExtApproveConnect the 32 bit number is converted to void* and 
> compared as pointer:
>   if (queryConnectId == (void*)stuff->opaqueId) {
> 
> In case of 64 bit system and when TcpSocket gets allocated on higher than 
> 0xffffffff address, the condition will fail and XVnc will ignore the 
> connection approval.

Thanks. I've applied the patch to trunk now.

Rgds
-- 
Pierre Ossman           Software Development
Cendio AB               http://cendio.com
Teknikringen 8          http://twitter.com/ThinLinc
583 30 Linköping        http://facebook.com/ThinLinc
Phone: +46-13-214600    http://plus.google.com/112509906846170010689

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

Attachment: signature.asc
Description: PGP signature

------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. 
http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to