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