From 069eacfbc0d4c7ca4d93c858a3c6ebdcbf1c9996 Mon Sep 17 00:00:00 2001 From: E <2974895+eduardomozart@users.noreply.github.com> Date: Tue, 18 Aug 2026 19:07:09 -0300 Subject: [PATCH] fix: ensure HTTP 404 or 500 is returned when image file is missing or unreadable --- src/nvhttp.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/nvhttp.cpp b/src/nvhttp.cpp index e260141a7d7..736275781f9 100644 --- a/src/nvhttp.cpp +++ b/src/nvhttp.cpp @@ -1241,6 +1241,16 @@ namespace nvhttp { auto app_image = proc::proc.get_app_image((int) util::from_view(get_arg(args, "appid"))); std::ifstream in(app_image, std::ios::binary); + if (!in.is_open()) { + std::error_code ec; + if (std::filesystem::exists(app_image, ec)) { + response->write(SimpleWeb::StatusCode::server_error_internal_server_error); + } else { + response->write(SimpleWeb::StatusCode::client_error_not_found); + } + response->close_connection_after_response = true; + return; + } SimpleWeb::CaseInsensitiveMultimap headers; headers.emplace("Content-Type", "image/png"); response->write(SimpleWeb::StatusCode::success_ok, in, headers);