-
-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compatibility issue with UltraVNC viewer #108
Comments
Yep, that's a good idea. |
@wqweto, can you confirm that the issue is fixed? |
Yes, just tested the fix is working ok with 33 encodings sent from UltraVNC client. |
any1
added a commit
that referenced
this issue
Feb 2, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I recently stumbled on the fact that in
RFB_CLIENT_TO_SERVER_SET_ENCODINGS
message UltraVNC client sometimes sends more that 32 (pseudo-)encodings.In this case there is a problem in
on_client_set_encodings
function inserver.c
because there is this check. . . and the incoming
msg->n_encodings
count is limited up to 32 encodings.Probably
MAX_ENCODINGS
limit should be checked on accepted encodings inclient->encodings
array as it is sized toMAX_ENCODINGS + 1
elements which will allow incoming number of encodings to be aboveMAX_ENCODINGS
limit as this is harmless.The issue is exacerbated because
on_client_set_encodings
returnssizeof(*msg) + 4 * n_encodings
butn_encodings
is trimmed above at 32 so the effect is that next message is started from inside incompletely parsedRFB_CLIENT_TO_SERVER_SET_ENCODINGS
data and is usually invalid type so client connection gets closed.The text was updated successfully, but these errors were encountered: