From 801e5b6a6a6cc0229d043c20ed2ec65c1d99e5a0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 27 May 2026 17:09:40 +0000 Subject: [PATCH] Make Windows env lookup exception-safe --- src/cmd_context/tptp_frontend.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/cmd_context/tptp_frontend.cpp b/src/cmd_context/tptp_frontend.cpp index 9c5edfd408..82f7f97322 100644 --- a/src/cmd_context/tptp_frontend.cpp +++ b/src/cmd_context/tptp_frontend.cpp @@ -1785,12 +1785,11 @@ class tptp_parser { char* buffer = nullptr; size_t len = 0; errno_t err = ::_dupenv_s(&buffer, &len, name); - if (err != 0) + if (err != 0 || !buffer) return false; - if (!buffer) - return false; - value.assign(buffer); - std::free(buffer); + std::unique_ptr buffer_guard(buffer, &std::free); + value.assign(buffer_guard.get()); + (void)len; return true; #else char const* v = std::getenv(name);