diff options
| author | Scott Shawcroft <scott@adafruit.com> | 2021-01-11 15:20:56 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-11 15:20:56 -0800 |
| commit | b0eb91dfef2a62d216ce076e32433b3c7e220a7b (patch) | |
| tree | b1085ab26d44e7f53578dc2440b5631514b02d27 | |
| parent | 1c12d8351caa47cb2fc143147683abc6373a4734 (diff) | |
| parent | 7b4558b750df85026e1801bb661343101da9df5a (diff) | |
Merge pull request #3955 from caiokat/fix_recvfrom_into
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) { |
