This is an automated email from the ASF dual-hosted git repository. necouchman pushed a commit to branch staging/1.6.1 in repository https://gitbox.apache.org/repos/asf/guacamole-server.git
commit 8e16cf2c062895a77f0fe9ed56f66c4d4b099d4e Merge: 7ca6234a 17c9908c Author: Virtually Nick <[email protected]> AuthorDate: Thu May 7 21:40:45 2026 -0400 GUACAMOLE-2268: Merge gate VNC UTF-8 (Extended Clipboard) support behind config check. configure.ac | 24 ++++++++++++++++++++++++ src/protocols/vnc/clipboard.c | 4 ++++ src/protocols/vnc/clipboard.h | 2 ++ src/protocols/vnc/vnc.c | 2 ++ 4 files changed, 32 insertions(+) diff --cc src/protocols/vnc/clipboard.c index 4af5b458,9db58b61..ec18e402 --- a/src/protocols/vnc/clipboard.c +++ b/src/protocols/vnc/clipboard.c @@@ -140,15 -132,10 +141,16 @@@ int guac_vnc_clipboard_end_handler(guac vnc_client->clipboard->length)) return 0; } + #endif /* Fall back to classic clipboard with encoding conversion */ - char output_data[GUAC_COMMON_CLIPBOARD_MAX_LENGTH]; + char* output_data = guac_mem_alloc(GUAC_COMMON_CLIPBOARD_MAX_LENGTH); + if (output_data == NULL) { + guac_client_log(client, GUAC_LOG_WARNING, + "Clipboard conversion failed: unable to allocate output " + "buffer."); + return 1; + } const char* input = vnc_client->clipboard->buffer; char* output = output_data; @@@ -194,10 -174,9 +196,11 @@@ void guac_vnc_cut_text(rfbClient* clien guac_common_clipboard_append(vnc_client->clipboard, received_data, output - received_data); guac_common_clipboard_send(vnc_client->clipboard, gc); + guac_mem_free(received_data); + } + #ifdef LIBVNC_CLIENT_HAS_EXTENDED_CLIPBOARD void guac_vnc_cut_text_utf8(rfbClient* client, const char* text, int textlen) { guac_client* gc = rfbClientGetClientData(client, GUAC_VNC_CLIENT_KEY); @@@ -229,6 -202,5 +232,7 @@@ guac_common_clipboard_append(vnc_client->clipboard, received_data, output - received_data); guac_common_clipboard_send(vnc_client->clipboard, gc); + guac_mem_free(received_data); + } + #endif
