From b5177cb23a7b66db6a858399bc496e2a2ceebce0 Mon Sep 17 00:00:00 2001 From: Suren Gabrielyan Date: Wed, 19 Apr 2023 14:36:50 +0400 Subject: [PATCH] fix(websocket): esp_websocket_client client allow sending 0 byte packets --- components/esp_websocket_client/esp_websocket_client.c | 3 +-- components/esp_websocket_client/include/esp_websocket_client.h | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/components/esp_websocket_client/esp_websocket_client.c b/components/esp_websocket_client/esp_websocket_client.c index 49e749259..46bf51d77 100644 --- a/components/esp_websocket_client/esp_websocket_client.c +++ b/components/esp_websocket_client/esp_websocket_client.c @@ -1100,8 +1100,7 @@ int esp_websocket_client_send_with_opcode(esp_websocket_client_handle_t client, int wlen = 0, widx = 0; int ret = ESP_FAIL; - if (client == NULL || len < 0 || - (opcode != WS_TRANSPORT_OPCODES_CLOSE && (data == NULL || len <= 0))) { + if (client == NULL || len < 0 || (data == NULL && len > 0)) { ESP_LOGE(TAG, "Invalid arguments"); return ESP_FAIL; } diff --git a/components/esp_websocket_client/include/esp_websocket_client.h b/components/esp_websocket_client/include/esp_websocket_client.h index a31020e2f..318ae8bc4 100644 --- a/components/esp_websocket_client/include/esp_websocket_client.h +++ b/components/esp_websocket_client/include/esp_websocket_client.h @@ -254,6 +254,9 @@ int esp_websocket_client_send_text(esp_websocket_client_handle_t client, const c * @param[in] len The length * @param[in] timeout Write data timeout in RTOS ticks * + * Notes: + * - In order to send a zero payload, data and len should be set to NULL/0 + * * @return * - Number of data was sent * - (-1) if any errors