Skip to content

Commit a4ed473

Browse files
authored
Merge pull request #9515 from VeijoPesonen/bugfix-tests-netsocket-udp_udpsocket_sendto_invalid
tests-netsocket-udp UDPSOCKET_SENDTO_INVALID allow unsupported empty UDP packet
2 parents c7998aa + b0fca1f commit a4ed473

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

TESTS/netsocket/udp/udpsocket_sendto_invalid.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,12 @@ void UDPSOCKET_SENDTO_INVALID()
3232
TEST_ASSERT(sock.sendto(NULL, 9, NULL, 0) < 0);
3333
TEST_ASSERT(sock.sendto("", 9, NULL, 0) < 0);
3434
TEST_ASSERT(sock.sendto("", 0, NULL, 0) < 0);
35-
TEST_ASSERT_EQUAL(0, sock.sendto(MBED_CONF_APP_ECHO_SERVER_ADDR, 9, NULL, 0));
35+
36+
nsapi_error_t result = sock.sendto(MBED_CONF_APP_ECHO_SERVER_ADDR, 9, NULL, 0);
37+
if (result != NSAPI_ERROR_UNSUPPORTED) {
38+
TEST_ASSERT_EQUAL(0, result);
39+
}
40+
3641
TEST_ASSERT_EQUAL(5, sock.sendto(MBED_CONF_APP_ECHO_SERVER_ADDR, 9, "hello", 5));
3742

3843
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, sock.close());

components/wifi/esp8266-driver/ESP8266Interface.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,11 @@ int ESP8266Interface::socket_send(void *handle, const void *data, unsigned size)
568568
return NSAPI_ERROR_NO_SOCKET;
569569
}
570570

571+
if (!size) {
572+
// Firmware limitation
573+
return socket->proto == NSAPI_TCP ? 0 : NSAPI_ERROR_UNSUPPORTED;
574+
}
575+
571576
unsigned long int sendStartTime = rtos::Kernel::get_ms_count();
572577
do {
573578
status = _esp.send(socket->id, data, size);

0 commit comments

Comments
 (0)