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