summaryrefslogtreecommitdiff
path: root/ports
diff options
context:
space:
mode:
authorCaio Henrique de Queiroz Katayama <caiokat@gmail.com>2021-01-08 19:17:17 -0500
committerCaio Henrique de Queiroz Katayama <caiokat@gmail.com>2021-01-08 19:17:17 -0500
commit7b4558b750df85026e1801bb661343101da9df5a (patch)
treef82e99c227ed9abba2dfb7c6e3694208cbfbc0bf /ports
parent55c80754c76a115e2f128931a408e6702aee6ef4 (diff)
Fix socket.recvfrom_into()
Diffstat (limited to 'ports')
-rw-r--r--ports/esp32s2/common-hal/socketpool/Socket.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/ports/esp32s2/common-hal/socketpool/Socket.c b/ports/esp32s2/common-hal/socketpool/Socket.c
index 32c5fc72f..5e943f8fd 100644
--- a/ports/esp32s2/common-hal/socketpool/Socket.c
+++ b/ports/esp32s2/common-hal/socketpool/Socket.c
@@ -178,7 +178,7 @@ mp_uint_t common_hal_socketpool_socket_recvfrom_into(socketpool_socket_obj_t* se
struct sockaddr_in source_addr;
socklen_t socklen = sizeof(source_addr);
- int bytes_received = lwip_recvfrom(self->num, buf, len - 1, 0, (struct sockaddr *)&source_addr, &socklen);
+ int bytes_received = lwip_recvfrom(self->num, buf, len, 0, (struct sockaddr *)&source_addr, &socklen);
memcpy((void *)ip, (void*)&source_addr.sin_addr.s_addr, sizeof source_addr.sin_addr.s_addr);
*port = source_addr.sin_port;
@@ -186,10 +186,9 @@ mp_uint_t common_hal_socketpool_socket_recvfrom_into(socketpool_socket_obj_t* se
if (bytes_received < 0) {
mp_raise_BrokenPipeError();
return 0;
- } else {
- buf[bytes_received] = 0; // Null-terminate whatever we received
- return bytes_received;
}
+
+ return bytes_received;
}
void common_hal_socketpool_socket_close(socketpool_socket_obj_t* self) {