Hello.
I compile UltraVNC with Windows XP support, but client doesn't work with various servers on Windows XP. Modern OS - OK.
Servers:
1.2.4.0: assertion assert(len <= end - ptr) occurred when switch to XZ/XZYW encoder
Callstack:
Code: Select all
vncviewer.exe!ClientConnection::zrleDecode24ALE<rdr::ZlibInStream>(int x, int y, int w, int h, rdr::InStream * is, rdr::ZlibInStream * zis, unsigned int * buf) Line 183 / Line 204
vncviewer.exe!ClientConnection::zrleDecode(int x, int y, int w, int h, bool use_zstd) Line 134
vncviewer.exe!ClientConnection::ReadScreenUpdate() Line 6210
vncviewer.exe!ClientConnection::run_undetached(void * arg) Line 5467
vncviewer.exe!omni_thread_wrapper(void * ptr) Line 518
vncviewer.exe!thread_start<unsigned int (__stdcall*)(void *),1>(void * const parameter) Line 97
If skip previous assertion exception occurred in rdr::ZlibInStream::decompress()
When bytesIn reaches 0 next call of rdr::ZlibInStream::decompress() raise exception because inflate return Z_BUF_ERROR.
Callstack:
Code: Select all
vncviewer.exe!rdr::ZlibInStream::decompress() Line 129
vncviewer.exe!rdr::ZlibInStream::overrun(int itemSize, int nItems) Line 105
vncviewer.exe!rdr::InStream::check(int itemSize, int nItems) Line 56
vncviewer.exe!rdr::InStream::readOpaque24A() Line 116
vncviewer.exe!ClientConnection::zrleDecode24ALE<rdr::ZlibInStream>(int x, int y, int w, int h, rdr::InStream * is, rdr::ZlibInStream * zis, unsigned int * buf) Line 135
vncviewer.exe!ClientConnection::zrleDecode(int x, int y, int w, int h, bool use_zstd) Line 134
vncviewer.exe!ClientConnection::ReadScreenUpdate() Line 6210
vncviewer.exe!ClientConnection::run_undetached(void * arg) Line 5467
vncviewer.exe!omni_thread_wrapper(void * ptr) Line 518
vncviewer.exe!thread_start<unsigned int (__stdcall*)(void *),1>(void * const parameter) Line 97
1.3.2.0: works when switch to any encoders, exception occurred on exit
1.4.2.0,
1.4.3.1,
1.4.3.5,
1.4.3.6,
1.6.1.0: exception occurred on start
::read(fd, buf, len) return -1 because recv return WSAECONNRESET
Callstack:
Code: Select all
vncviewer.exe!rdr::FdInStream::readWithTimeoutOrCallback(void * buf, int len) Line 302
vncviewer.exe!rdr::FdInStream::overrun(int itemSize, int nItems) Line 154
vncviewer.exe!rdr::InStream::check(int itemSize, int nItems) Line 56
vncviewer.exe!rdr::InStream::readU8() Line 65
vncviewer.exe!ClientConnection::run_undetached(void * arg) Line 5417
vncviewer.exe!omni_thread_wrapper(void * ptr) Line 518
vncviewer.exe!thread_start<unsigned int (__stdcall*)(void *),1>(void * const parameter) Line 97
1.4.0.9: exception occurred on start
::read(fd, buf, len) return -1 because recv return WSAECONNRESET
Callstack:
Code: Select all
vncviewer.exe!rdr::FdInStream::readWithTimeoutOrCallback(void * buf, int len) Line 302
vncviewer.exe!rdr::FdInStream::overrun(int itemSize, int nItems) Line 154
vncviewer.exe!rdr::InStream::check(int itemSize, int nItems) Line 56
vncviewer.exe!rdr::InStream::readBytes(void * data, int length) Line 101
vncviewer.exe!rdr::FdInStream::readBytes(void * data, int length) Line 109
vncviewer.exe!ClientConnection::ReadExact(char * inbuf, int wanted) Line 6748
vncviewer.exe!ClientConnection::ReadServerInit(bool reconnect) Line 3784
vncviewer.exe!ClientConnection::DoConnection(bool reconnect) Line 823
vncviewer.exe!ClientConnection::Run() Line 750
vncviewer.exe!VNCviewerApp32::NewConnection(bool Is_Listening) Line 88
vncviewer.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * szCmdLine, int iCmdShow) Line 828
VS2022 solution download link:
https://www.mediafire.com/file/9m29xbsf ... 10.7z/file.