Skip to content

Commit 69e8216

Browse files
trflynn89linusg
authored andcommitted
LibWeb: Do not use OS error codes in the error callback for file:// URLs
The error code passed here is expected to be an HTTP error code. Passing errno codes does not make sense in that context.
1 parent ddb4137 commit 69e8216

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

Userland/Libraries/LibWeb/Loader/ResourceLoader.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -244,8 +244,10 @@ void ResourceLoader::load(LoadRequest& request, Function<void(ReadonlyBytes, Has
244244

245245
if (file_or_error.is_error()) {
246246
log_failure(request, file_or_error.error());
247-
if (error_callback)
248-
error_callback(DeprecatedString::formatted("{}", file_or_error.error()), file_or_error.error().code());
247+
if (error_callback) {
248+
auto status = file_or_error.error().code() == ENOENT ? 404u : 500u;
249+
error_callback(DeprecatedString::formatted("{}", file_or_error.error()), status);
250+
}
249251
return;
250252
}
251253

@@ -255,7 +257,7 @@ void ResourceLoader::load(LoadRequest& request, Function<void(ReadonlyBytes, Has
255257
if (maybe_file.is_error()) {
256258
log_failure(request, maybe_file.error());
257259
if (error_callback)
258-
error_callback(DeprecatedString::formatted("{}", maybe_file.error()), maybe_file.error().code());
260+
error_callback(DeprecatedString::formatted("{}", maybe_file.error()), 500u);
259261
return;
260262
}
261263

@@ -264,7 +266,7 @@ void ResourceLoader::load(LoadRequest& request, Function<void(ReadonlyBytes, Has
264266
if (maybe_data.is_error()) {
265267
log_failure(request, maybe_data.error());
266268
if (error_callback)
267-
error_callback(DeprecatedString::formatted("{}", maybe_data.error()), maybe_data.error().code());
269+
error_callback(DeprecatedString::formatted("{}", maybe_data.error()), 500u);
268270
return;
269271
}
270272
auto data = maybe_data.release_value();

0 commit comments

Comments
 (0)