KasmVNC/common/rfb
Pierre Ossman 3282836baf Make ZlibInStream more robust against failures
Move the checks around to avoid missing cases where we might access
memory that is no longer valid. Also avoid touching the underlying
stream implicitly (e.g. via the destructor) as it might also no
longer be valid.

A malicious server could theoretically use this for remote code
execution in the client.

Issue found by Pavel Cheremushkin from Kaspersky Lab
2020-09-21 12:40:12 +03:00
..
adler32.h Initial commit 2020-09-20 12:16:44 +00:00
Blacklist.cxx Initial commit 2020-09-20 12:16:44 +00:00
Blacklist.h Initial commit 2020-09-20 12:16:44 +00:00
CConnection.cxx Initial commit 2020-09-20 12:16:44 +00:00
CConnection.h Initial commit 2020-09-20 12:16:44 +00:00
CMakeLists.txt Initial commit 2020-09-20 12:16:44 +00:00
CMsgHandler.cxx Initial commit 2020-09-20 12:16:44 +00:00
CMsgHandler.h Initial commit 2020-09-20 12:16:44 +00:00
CMsgReader.cxx Initial commit 2020-09-20 12:16:44 +00:00
CMsgReader.h Initial commit 2020-09-20 12:16:44 +00:00
CMsgWriter.cxx Initial commit 2020-09-20 12:16:44 +00:00
CMsgWriter.h Initial commit 2020-09-20 12:16:44 +00:00
ComparingUpdateTracker.cxx Initial commit 2020-09-20 12:16:44 +00:00
ComparingUpdateTracker.h Initial commit 2020-09-20 12:16:44 +00:00
Configuration.cxx Initial commit 2020-09-20 12:16:44 +00:00
Configuration.h Initial commit 2020-09-20 12:16:44 +00:00
Congestion.cxx Initial commit 2020-09-20 12:16:44 +00:00
Congestion.h Initial commit 2020-09-20 12:16:44 +00:00
ConnParams.cxx Initial commit 2020-09-20 12:16:44 +00:00
ConnParams.h Initial commit 2020-09-20 12:16:44 +00:00
CopyRectDecoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
CopyRectDecoder.h Initial commit 2020-09-20 12:16:44 +00:00
CSecurity.h Initial commit 2020-09-20 12:16:44 +00:00
CSecurityNone.h Initial commit 2020-09-20 12:16:44 +00:00
CSecurityPlain.cxx Initial commit 2020-09-20 12:16:44 +00:00
CSecurityPlain.h Initial commit 2020-09-20 12:16:44 +00:00
CSecurityStack.cxx Initial commit 2020-09-20 12:16:44 +00:00
CSecurityStack.h Initial commit 2020-09-20 12:16:44 +00:00
CSecurityTLS.cxx Initial commit 2020-09-20 12:16:44 +00:00
CSecurityTLS.h Initial commit 2020-09-20 12:16:44 +00:00
CSecurityVeNCrypt.cxx Initial commit 2020-09-20 12:16:44 +00:00
CSecurityVeNCrypt.h Initial commit 2020-09-20 12:16:44 +00:00
CSecurityVncAuth.cxx Initial commit 2020-09-20 12:16:44 +00:00
CSecurityVncAuth.h Initial commit 2020-09-20 12:16:44 +00:00
Cursor.cxx Initial commit 2020-09-20 12:16:44 +00:00
Cursor.h Initial commit 2020-09-20 12:16:44 +00:00
d3des.c Initial commit 2020-09-20 12:16:44 +00:00
d3des.h Initial commit 2020-09-20 12:16:44 +00:00
DecodeManager.cxx Initial commit 2020-09-20 12:16:44 +00:00
DecodeManager.h Initial commit 2020-09-20 12:16:44 +00:00
Decoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
Decoder.h Initial commit 2020-09-20 12:16:44 +00:00
EncCache.cxx Initial commit 2020-09-20 12:16:44 +00:00
EncCache.h Initial commit 2020-09-20 12:16:44 +00:00
EncodeManager.cxx Initial commit 2020-09-20 12:16:44 +00:00
EncodeManager.h Initial commit 2020-09-20 12:16:44 +00:00
EncodeManagerBPP.cxx Initial commit 2020-09-20 12:16:44 +00:00
Encoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
Encoder.h Initial commit 2020-09-20 12:16:44 +00:00
encodings.cxx Initial commit 2020-09-20 12:16:44 +00:00
encodings.h Initial commit 2020-09-20 12:16:44 +00:00
Exception.h Initial commit 2020-09-20 12:16:44 +00:00
fenceTypes.h Initial commit 2020-09-20 12:16:44 +00:00
hextileConstants.h Initial commit 2020-09-20 12:16:44 +00:00
hextileDecode.h Initial commit 2020-09-20 12:16:44 +00:00
HextileDecoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
HextileDecoder.h Initial commit 2020-09-20 12:16:44 +00:00
hextileEncode.h Initial commit 2020-09-20 12:16:44 +00:00
hextileEncodeBetter.h Initial commit 2020-09-20 12:16:44 +00:00
HextileEncoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
HextileEncoder.h Initial commit 2020-09-20 12:16:44 +00:00
Hostname.h Initial commit 2020-09-20 12:16:44 +00:00
HTTPServer.cxx Initial commit 2020-09-20 12:16:44 +00:00
HTTPServer.h Initial commit 2020-09-20 12:16:44 +00:00
InputHandler.h Initial commit 2020-09-20 12:16:44 +00:00
JpegCompressor.cxx Initial commit 2020-09-20 12:16:44 +00:00
JpegCompressor.h Initial commit 2020-09-20 12:16:44 +00:00
JpegDecompressor.cxx Initial commit 2020-09-20 12:16:44 +00:00
JpegDecompressor.h Initial commit 2020-09-20 12:16:44 +00:00
KeyRemapper.cxx Initial commit 2020-09-20 12:16:44 +00:00
KeyRemapper.h Initial commit 2020-09-20 12:16:44 +00:00
keysymdef.h Initial commit 2020-09-20 12:16:44 +00:00
ledStates.h Initial commit 2020-09-20 12:16:44 +00:00
ListConnInfo.h Initial commit 2020-09-20 12:16:44 +00:00
Logger_file.cxx Initial commit 2020-09-20 12:16:44 +00:00
Logger_file.h Initial commit 2020-09-20 12:16:44 +00:00
Logger_stdio.cxx Initial commit 2020-09-20 12:16:44 +00:00
Logger_stdio.h Initial commit 2020-09-20 12:16:44 +00:00
Logger_syslog.cxx Initial commit 2020-09-20 12:16:44 +00:00
Logger_syslog.h Initial commit 2020-09-20 12:16:44 +00:00
Logger.cxx Initial commit 2020-09-20 12:16:44 +00:00
Logger.h Initial commit 2020-09-20 12:16:44 +00:00
LogWriter.cxx Initial commit 2020-09-20 12:16:44 +00:00
LogWriter.h Initial commit 2020-09-20 12:16:44 +00:00
msgTypes.h Initial commit 2020-09-20 12:16:44 +00:00
Palette.h Initial commit 2020-09-20 12:16:44 +00:00
pam.c Initial commit 2020-09-20 12:16:44 +00:00
pam.h Initial commit 2020-09-20 12:16:44 +00:00
Password.cxx Initial commit 2020-09-20 12:16:44 +00:00
Password.h Initial commit 2020-09-20 12:16:44 +00:00
Pixel.h Initial commit 2020-09-20 12:16:44 +00:00
PixelBuffer.cxx Initial commit 2020-09-20 12:16:44 +00:00
PixelBuffer.h Initial commit 2020-09-20 12:16:44 +00:00
PixelFormat.cxx Initial commit 2020-09-20 12:16:44 +00:00
PixelFormat.h Initial commit 2020-09-20 12:16:44 +00:00
PixelFormat.inl Initial commit 2020-09-20 12:16:44 +00:00
PixelFormatBPP.cxx Initial commit 2020-09-20 12:16:44 +00:00
qemuTypes.h Initial commit 2020-09-20 12:16:44 +00:00
RawDecoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
RawDecoder.h Initial commit 2020-09-20 12:16:44 +00:00
RawEncoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
RawEncoder.h Initial commit 2020-09-20 12:16:44 +00:00
Rect.h Initial commit 2020-09-20 12:16:44 +00:00
Region.cxx Initial commit 2020-09-20 12:16:44 +00:00
Region.h Initial commit 2020-09-20 12:16:44 +00:00
rreDecode.h Initial commit 2020-09-20 12:16:44 +00:00
RREDecoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
RREDecoder.h Initial commit 2020-09-20 12:16:44 +00:00
rreEncode.h Initial commit 2020-09-20 12:16:44 +00:00
RREEncoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
RREEncoder.h Initial commit 2020-09-20 12:16:44 +00:00
ScaleFilters.cxx Initial commit 2020-09-20 12:16:44 +00:00
ScaleFilters.h Initial commit 2020-09-20 12:16:44 +00:00
SConnection.cxx Initial commit 2020-09-20 12:16:44 +00:00
SConnection.h Initial commit 2020-09-20 12:16:44 +00:00
ScreenSet.h Initial commit 2020-09-20 12:16:44 +00:00
screenTypes.h Initial commit 2020-09-20 12:16:44 +00:00
SDesktop.h Initial commit 2020-09-20 12:16:44 +00:00
Security.cxx Initial commit 2020-09-20 12:16:44 +00:00
Security.h Initial commit 2020-09-20 12:16:44 +00:00
SecurityClient.cxx Initial commit 2020-09-20 12:16:44 +00:00
SecurityClient.h Initial commit 2020-09-20 12:16:44 +00:00
SecurityServer.cxx Initial commit 2020-09-20 12:16:44 +00:00
SecurityServer.h Initial commit 2020-09-20 12:16:44 +00:00
ServerCore.cxx Initial commit 2020-09-20 12:16:44 +00:00
ServerCore.h Initial commit 2020-09-20 12:16:44 +00:00
SMsgHandler.cxx Initial commit 2020-09-20 12:16:44 +00:00
SMsgHandler.h Initial commit 2020-09-20 12:16:44 +00:00
SMsgReader.cxx Initial commit 2020-09-20 12:16:44 +00:00
SMsgReader.h Initial commit 2020-09-20 12:16:44 +00:00
SMsgWriter.cxx Initial commit 2020-09-20 12:16:44 +00:00
SMsgWriter.h Initial commit 2020-09-20 12:16:44 +00:00
SSecurity.h Initial commit 2020-09-20 12:16:44 +00:00
SSecurityNone.h Initial commit 2020-09-20 12:16:44 +00:00
SSecurityPlain.cxx Initial commit 2020-09-20 12:16:44 +00:00
SSecurityPlain.h Initial commit 2020-09-20 12:16:44 +00:00
SSecurityStack.cxx Initial commit 2020-09-20 12:16:44 +00:00
SSecurityStack.h Initial commit 2020-09-20 12:16:44 +00:00
SSecurityTLS.cxx Initial commit 2020-09-20 12:16:44 +00:00
SSecurityTLS.h Initial commit 2020-09-20 12:16:44 +00:00
SSecurityVeNCrypt.cxx Initial commit 2020-09-20 12:16:44 +00:00
SSecurityVeNCrypt.h Initial commit 2020-09-20 12:16:44 +00:00
SSecurityVncAuth.cxx Initial commit 2020-09-20 12:16:44 +00:00
SSecurityVncAuth.h Initial commit 2020-09-20 12:16:44 +00:00
TightConstants.h Initial commit 2020-09-20 12:16:44 +00:00
tightDecode.h Initial commit 2020-09-20 12:16:44 +00:00
TightDecoder.cxx Make ZlibInStream more robust against failures 2020-09-21 12:40:12 +03:00
TightDecoder.h Initial commit 2020-09-20 12:16:44 +00:00
TightEncoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
TightEncoder.h Initial commit 2020-09-20 12:16:44 +00:00
TightEncoderBPP.cxx Initial commit 2020-09-20 12:16:44 +00:00
TightJPEGEncoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
TightJPEGEncoder.h Initial commit 2020-09-20 12:16:44 +00:00
TightWEBPEncoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
TightWEBPEncoder.h Initial commit 2020-09-20 12:16:44 +00:00
Timer.cxx Initial commit 2020-09-20 12:16:44 +00:00
Timer.h Initial commit 2020-09-20 12:16:44 +00:00
UnixPasswordValidator.cxx Initial commit 2020-09-20 12:16:44 +00:00
UnixPasswordValidator.h Initial commit 2020-09-20 12:16:44 +00:00
UpdateTracker.cxx Initial commit 2020-09-20 12:16:44 +00:00
UpdateTracker.h Initial commit 2020-09-20 12:16:44 +00:00
UserMsgBox.h Initial commit 2020-09-20 12:16:44 +00:00
UserPasswdGetter.h Initial commit 2020-09-20 12:16:44 +00:00
util.cxx Initial commit 2020-09-20 12:16:44 +00:00
util.h Initial commit 2020-09-20 12:16:44 +00:00
VNCSConnectionST.cxx Initial commit 2020-09-20 12:16:44 +00:00
VNCSConnectionST.h Initial commit 2020-09-20 12:16:44 +00:00
VNCServer.h Initial commit 2020-09-20 12:16:44 +00:00
VNCServerST.cxx Initial commit 2020-09-20 12:16:44 +00:00
VNCServerST.h Initial commit 2020-09-20 12:16:44 +00:00
WinPasswdValidator.cxx Initial commit 2020-09-20 12:16:44 +00:00
WinPasswdValidator.h Initial commit 2020-09-20 12:16:44 +00:00
XF86keysym.h Initial commit 2020-09-20 12:16:44 +00:00
xxhash.c Initial commit 2020-09-20 12:16:44 +00:00
xxhash.h Initial commit 2020-09-20 12:16:44 +00:00
zrleDecode.h Make ZlibInStream more robust against failures 2020-09-21 12:40:12 +03:00
ZRLEDecoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
ZRLEDecoder.h Initial commit 2020-09-20 12:16:44 +00:00
ZRLEEncoder.cxx Initial commit 2020-09-20 12:16:44 +00:00
ZRLEEncoder.h Initial commit 2020-09-20 12:16:44 +00:00
ZRLEEncoderBPP.cxx Initial commit 2020-09-20 12:16:44 +00:00