From 1c7f9cf70a8f1a2ad4a9491a69037e30b7223ccb Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Wed, 28 Oct 2020 13:23:20 +0100 Subject: [PATCH] [FIX] fixed doctor buffer overflow --- ClientApp/Utils/EngineConnection.cs | 3 ++- DoctorApp/Utils/Client.cs | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ClientApp/Utils/EngineConnection.cs b/ClientApp/Utils/EngineConnection.cs index d9e905a..96779a0 100644 --- a/ClientApp/Utils/EngineConnection.cs +++ b/ClientApp/Utils/EngineConnection.cs @@ -243,7 +243,7 @@ namespace ClientApp.Utils SendMessageAndOnResponse(mainCommand.addPanel("panelAdd", bikeId), "panelAdd", (message) => { - + Write("got panel id"); panelId = JSONParser.getPanelID(message); WriteTextMessage(mainCommand.ColorPanel(panelId)); @@ -295,6 +295,7 @@ namespace ClientApp.Utils public void UpdateInfoPanel() { + Write("updating info panel"); ShowPanel(BikeSpeed, (int)BikeBPM, (int)BikePower, (int)BikeResistance); WriteTextMessage(mainCommand.RouteSpeed(BikeSpeed, bikeId)); WriteTextMessage(mainCommand.RouteSpeed(BikeSpeed, cameraId)); diff --git a/DoctorApp/Utils/Client.cs b/DoctorApp/Utils/Client.cs index 20b3137..ec040fc 100644 --- a/DoctorApp/Utils/Client.cs +++ b/DoctorApp/Utils/Client.cs @@ -129,14 +129,13 @@ namespace DoctorApp.Utils { MainViewModel.TransferDataToClientBPM(payloadbytes); } - + Array.Copy(totalBuffer, expectedMessageLength, totalBuffer, 0, (totalBufferReceived - expectedMessageLength)); //maybe unsafe idk totalBufferReceived -= expectedMessageLength; expectedMessageLength = BitConverter.ToInt32(totalBuffer, 0); } if (ar == null || (!ar.IsCompleted) || (!this.stream.CanRead) || !this.client.Connected) return; - ar.AsyncWaitHandle.WaitOne(); this.stream.BeginRead(this.buffer, 0, this.buffer.Length, new AsyncCallback(OnRead), null); }