diff --git a/client/X11/xf_cliprdr.c b/client/X11/xf_cliprdr.c index 477c842b5..a68cc3129 100644 --- a/client/X11/xf_cliprdr.c +++ b/client/X11/xf_cliprdr.c @@ -1102,8 +1102,11 @@ static UINT xf_cliprdr_server_format_data_response(CliprdrClientContext* context DstSize = 0; pDstData = (BYTE*) ClipboardGetData(clipboard->system, dstFormatId, &DstSize); - if ((DstSize > 1) && nullTerminated) - DstSize--; + if (nullTerminated) + { + while (DstSize > 0 && pDstData[DstSize - 1] == '\0') + DstSize--; + } } clipboard->data = pDstData;