Skip to content

Commit 069eacf

Browse files
committed
fix: ensure HTTP 404 or 500 is returned when image file is missing or unreadable
1 parent 6ad5f97 commit 069eacf

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

src/nvhttp.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1241,6 +1241,16 @@ namespace nvhttp {
12411241
auto app_image = proc::proc.get_app_image((int) util::from_view(get_arg(args, "appid")));
12421242

12431243
std::ifstream in(app_image, std::ios::binary);
1244+
if (!in.is_open()) {
1245+
std::error_code ec;
1246+
if (std::filesystem::exists(app_image, ec)) {
1247+
response->write(SimpleWeb::StatusCode::server_error_internal_server_error);
1248+
} else {
1249+
response->write(SimpleWeb::StatusCode::client_error_not_found);
1250+
}
1251+
response->close_connection_after_response = true;
1252+
return;
1253+
}
12441254
SimpleWeb::CaseInsensitiveMultimap headers;
12451255
headers.emplace("Content-Type", "image/png");
12461256
response->write(SimpleWeb::StatusCode::success_ok, in, headers);

0 commit comments

Comments
 (0)