From be2a4216fc5664ae465ec3dcc32fc3d40cecfdcd Mon Sep 17 00:00:00 2001 From: Raphael Isemann Date: Mon, 27 Sep 2021 15:28:02 +0200 Subject: [PATCH] [lldb] Fix SocketTest.DomainGetConnectURI on macOS by stripping more zeroes from getpeername result Apparently macOS is padding the name result with several padding zeroes at the end. Just strip them all to pretend it's a C-string. Thanks to Pavel for suggesting this fix. --- lldb/source/Host/posix/DomainSocket.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lldb/source/Host/posix/DomainSocket.cpp b/lldb/source/Host/posix/DomainSocket.cpp index 790458ee13d0..8138b6ff1dc4 100644 --- a/lldb/source/Host/posix/DomainSocket.cpp +++ b/lldb/source/Host/posix/DomainSocket.cpp @@ -143,8 +143,7 @@ std::string DomainSocket::GetSocketName() const { llvm::StringRef name(saddr_un.sun_path + GetNameOffset(), sock_addr_len - offsetof(struct sockaddr_un, sun_path) - GetNameOffset()); - if (name.back() == '\0') - name = name.drop_back(); + name = name.drop_while([](char c) { return c == '\0'; }); return name.str(); }