diff options
Diffstat (limited to 'debian/patches/0010-Fixed-smartcard_convert_string_list-with-0-length.patch')
-rw-r--r-- | debian/patches/0010-Fixed-smartcard_convert_string_list-with-0-length.patch | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/debian/patches/0010-Fixed-smartcard_convert_string_list-with-0-length.patch b/debian/patches/0010-Fixed-smartcard_convert_string_list-with-0-length.patch deleted file mode 100644 index 5146f72..0000000 --- a/debian/patches/0010-Fixed-smartcard_convert_string_list-with-0-length.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 471cda7ef304afb27c2fd1aa5a59078c7401e46e Mon Sep 17 00:00:00 2001 -From: Armin Novak <armin.novak@thincast.com> -Date: Wed, 3 Mar 2021 11:39:55 +0100 -Subject: [PATCH 10/36] Fixed smartcard_convert_string_list with 0 length - -(cherry picked from commit e9904e286f43dea5940182b25740730c55e7c8a6) ---- - channels/smartcard/client/smartcard_pack.c | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -diff --git a/channels/smartcard/client/smartcard_pack.c b/channels/smartcard/client/smartcard_pack.c -index ed0301bb2..83c9d3023 100644 ---- a/channels/smartcard/client/smartcard_pack.c -+++ b/channels/smartcard/client/smartcard_pack.c -@@ -351,8 +351,11 @@ static char* smartcard_convert_string_list(const void* in, size_t bytes, BOOL un - - if (unicode) - { -- length = (bytes / 2); -- if (ConvertFromUnicode(CP_UTF8, 0, string.wz, (int)length, &mszA, 0, NULL, NULL) != -+ length = (bytes / sizeof(WCHAR)) - 1; -+ mszA = (char*)calloc(length + 1, sizeof(WCHAR)); -+ if (!mszA) -+ return NULL; -+ if (ConvertFromUnicode(CP_UTF8, 0, string.wz, (int)length, &mszA, length + 1, NULL, NULL) != - (int)length) - { - free(mszA); -@@ -362,10 +365,11 @@ static char* smartcard_convert_string_list(const void* in, size_t bytes, BOOL un - else - { - length = bytes; -- mszA = (char*)malloc(length); -+ mszA = (char*)calloc(length, sizeof(char)); - if (!mszA) - return NULL; -- CopyMemory(mszA, string.sz, length); -+ CopyMemory(mszA, string.sz, length - 1); -+ mszA[length - 1] = '\0'; - } - - for (index = 0; index < length - 1; index++) --- -2.30.2 - |