From 908068d19d829c418e453e1447d53c4aa2c83df6 Mon Sep 17 00:00:00 2001 From: Sergey Bugaev Date: Sat, 10 Aug 2019 18:49:14 +0300 Subject: [PATCH] Net: Fix initializing sockaddr_un.sun_path copy buffers The whole point of allocating an extra byte for the null terminator is to initialize it to zero. --- Kernel/Net/LocalSocket.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Kernel/Net/LocalSocket.cpp b/Kernel/Net/LocalSocket.cpp index efcc35c0c8..c7eb24dba1 100644 --- a/Kernel/Net/LocalSocket.cpp +++ b/Kernel/Net/LocalSocket.cpp @@ -48,7 +48,7 @@ KResult LocalSocket::bind(const sockaddr* address, socklen_t address_size) return KResult(-EINVAL); const sockaddr_un& local_address = *reinterpret_cast(address); - char safe_address[sizeof(local_address.sun_path) + 1]; + char safe_address[sizeof(local_address.sun_path) + 1] = { 0 }; memcpy(safe_address, local_address.sun_path, sizeof(local_address.sun_path)); #ifdef DEBUG_LOCAL_SOCKET @@ -81,7 +81,7 @@ KResult LocalSocket::connect(FileDescription& description, const sockaddr* addre return KResult(-EINVAL); const sockaddr_un& local_address = *reinterpret_cast(address); - char safe_address[sizeof(local_address.sun_path) + 1]; + char safe_address[sizeof(local_address.sun_path) + 1] = { 0 }; memcpy(safe_address, local_address.sun_path, sizeof(local_address.sun_path)); #ifdef DEBUG_LOCAL_SOCKET