From 8dcbf63bb66c63c9c46f7c5efeba44ea1fc406f6 Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Thu, 6 Oct 2016 10:53:48 -0500 Subject: [PATCH] nsapi - Fixed leftover bytes from suffix during ipv6 parsing Thanks to @EduardPon for hunting this down --- features/netsocket/SocketAddress.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/netsocket/SocketAddress.cpp b/features/netsocket/SocketAddress.cpp index 42e2b5416a..62165423fc 100644 --- a/features/netsocket/SocketAddress.cpp +++ b/features/netsocket/SocketAddress.cpp @@ -107,8 +107,6 @@ static void ipv6_from_address(uint8_t *bytes, const char *addr) { // Start with zeroed address uint16_t shorts[NSAPI_IPv6_BYTES/2]; - memset(shorts, 0, sizeof shorts); - int suffix = 0; // Find double colons and scan suffix @@ -122,6 +120,8 @@ static void ipv6_from_address(uint8_t *bytes, const char *addr) // Move suffix to end memmove(&shorts[NSAPI_IPv6_BYTES/2-suffix], &shorts[0], suffix*sizeof(uint16_t)); + memset(&shorts[0], 0, + (NSAPI_IPv6_BYTES/2-suffix)*sizeof(uint16_t)); // Scan prefix ipv6_scan_chunk(shorts, &addr[0]);