From 25687c269780e2c3a6375eebc362249bfeabadd9 Mon Sep 17 00:00:00 2001 From: Yu Zhang Date: Thu, 15 Jun 2023 09:56:14 -0700 Subject: [PATCH] Make the error message safer --- env/env_posix.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/env/env_posix.cc b/env/env_posix.cc index 400b8ac6ee0..ae2f9036028 100644 --- a/env/env_posix.cc +++ b/env/env_posix.cc @@ -330,12 +330,16 @@ class PosixEnv : public CompositeEnv { } Status GetHostName(char* name, uint64_t len) override { - int ret = gethostname(name, static_cast(len)); + const size_t max_len = static_cast(len); + int ret = gethostname(name, max_len); if (ret < 0) { if (errno == EFAULT || errno == EINVAL) { return Status::InvalidArgument(errnoStr(errno).c_str()); + } else if (errno == ENAMETOOLONG) { + return IOError("GetHostName", std::string(name, strnlen(name, max_len)), + errno); } else { - return IOError("GetHostName", name, errno); + return IOError("GetHostName", "", errno); } } return Status::OK();