diff options
| author | Caio Henrique de Queiroz Katayama <caiokat@gmail.com> | 2021-01-08 19:17:17 -0500 |
|---|---|---|
| committer | Caio Henrique de Queiroz Katayama <caiokat@gmail.com> | 2021-01-08 19:17:17 -0500 |
| commit | 7b4558b750df85026e1801bb661343101da9df5a (patch) | |
| tree | f82e99c227ed9abba2dfb7c6e3694208cbfbc0bf | |
| parent | 55c80754c76a115e2f128931a408e6702aee6ef4 (diff) | |
Fix socket.recvfrom_into()
| -rw-r--r-- | ports/esp32s2/common-hal/socketpool/Socket.c | 7 |
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) { |
