DRC <dcomman...@users.sourceforge.net> wrote on 09/11/2011 10:46:42:

> It probably needs to be w * sizeof(PIXEL_T), but I'd feel better if
> someone could test it, as apparently whatever I'm doing isn't invoking
> the copy filter (not sure how that filter is ever invoked, because I'm
> exercising all of the others by running various programs in the Xvnc
> session, moving windows around, etc.)  If you have a reliable way of
> testing the Copy filter, then you should be able to invoke the code
> below by running vncviewer on an X server with a depth of 16.

With the SVN version, the display is correct but valgrind complains:

==3330== Invalid read of size 1
==3330==    at 0x4A06A68: memcpy (mc_replace_strmem.c:497)
==3330==    by 0x4C322B: rfb::TightDecoder::tightDecode16(rfb::Rect 
const&) (tightDecode.h:188)
==3330==    by 0x4C4FE8: rfb::TightDecoder::readRect(rfb::Rect const&, 
rfb::CMsgHandler*) (TightDecoder.cxx:72)
==3330==    by 0x4D22DA: rfb::CMsgReader::readRect(rfb::Rect const&, int) 
(CMsgReader.cxx:116)
==3330==    by 0x4A8E77: rfb::CMsgReaderV3::readMsg() 
(CMsgReaderV3.cxx:94)
==3330==    by 0x4A64FF: rfb::CConnection::processMsg() 
(CConnection.cxx:76)
==3330==    by 0x4491C1: CConn::socketEvent(int, void*) (CConn.cxx:207)
==3330==    by 0x47F327: fl_wait(double) (Fl_x.cxx:267)
==3330==    by 0x45A866: Fl::wait(double) (Fl.cxx:589)
==3330==    by 0x4592D1: main (vncviewer.cxx:305)
==3330==  Address 0x4fe0daf is not stack'd, malloc'd or (recently) free'd

With w * sizeof(PIXEL_T) or with rowSize, everything is fine.


-- 
Matthieu Lochegnies
Altis Semiconductor - http://www.altissemiconductor.com/
------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to