From 9d8676f89d110ac5381e71ec123a146fd9936ea3 Mon Sep 17 00:00:00 2001 From: matt335672 <30179339+matt335672@users.noreply.github.com> Date: Thu, 9 Sep 2021 14:28:19 +0100 Subject: [PATCH] Corrected size of filename in struct clip_file_desc --- sesman/chansrv/clipboard_common.h | 2 +- sesman/chansrv/clipboard_file.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sesman/chansrv/clipboard_common.h b/sesman/chansrv/clipboard_common.h index 0405af8f..739fa63b 100644 --- a/sesman/chansrv/clipboard_common.h +++ b/sesman/chansrv/clipboard_common.h @@ -77,7 +77,7 @@ struct clip_file_desc /* CLIPRDR_FILEDESCRIPTOR */ tui32 lastWriteTimeHigh; tui32 fileSizeHigh; tui32 fileSizeLow; - char cFileName[256]; + char cFileName[260 * 4]; /* Allow each UCS-16 char to become 32 bits */ }; int clipboard_out_unicode(struct stream *s, const char *text, diff --git a/sesman/chansrv/clipboard_file.c b/sesman/chansrv/clipboard_file.c index bedfa9bd..8625d0e9 100644 --- a/sesman/chansrv/clipboard_file.c +++ b/sesman/chansrv/clipboard_file.c @@ -575,7 +575,7 @@ clipboard_c2s_in_file_info(struct stream *s, struct clip_file_desc *cfd) in_uint32_le(s, cfd->lastWriteTimeHigh); in_uint32_le(s, cfd->fileSizeHigh); in_uint32_le(s, cfd->fileSizeLow); - num_chars = 256; + num_chars = sizeof(cfd->cFileName); clipboard_in_unicode(s, cfd->cFileName, &num_chars); ex_bytes = 512 - num_chars * 2; ex_bytes -= 2;