From 515042474a26633b37f9328ce01c51e6756ca298 Mon Sep 17 00:00:00 2001
From: Anatolii Kurotych <akurotych@gmail.com>
Date: Tue, 26 Feb 2019 09:37:42 +0200
Subject: [PATCH] [+] warning buf overflow in dap_client_remote_write

---
 dap_client_remote.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/dap_client_remote.c b/dap_client_remote.c
index c7a7112..2c0172d 100644
--- a/dap_client_remote.c
+++ b/dap_client_remote.c
@@ -184,10 +184,13 @@ void dap_client_remote_ready_to_write(dap_client_remote_t * sc,bool is_ready)
  * @return Number of bytes that were placed into the buffer
  */
 size_t dap_client_remote_write(dap_client_remote_t *sc, const void * data, size_t data_size)
-{
-     data_size = ((sc->buf_out_size+data_size)<(sizeof(sc->buf_out)))?data_size:(sizeof(sc->buf_out)-sc->buf_out_size );
+{     
+     if(sc->buf_out_size + data_size > sizeof(sc->buf_out) )  {
+         log_it(L_WARNING, "Client buffer overflow. Packet loosed");
+         return 0;
+     }
      memcpy(sc->buf_out+sc->buf_out_size,data,data_size);
-     sc->buf_out_size+=data_size;
+     sc->buf_out_size += data_size;
      return data_size;
 }
 
-- 
GitLab