Skip to content

Commit 3abbc38

Browse files
authored
src: fix useless call in permission.cc
FromMaybe() has no side effects and the return value is ignored. Instead, if Set() fails, then another exception is pending, so return early. PR-URL: #46833 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Anatoli Papirovski <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Darshan Sen <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
1 parent d610096 commit 3abbc38

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

src/permission/permission.cc

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -136,22 +136,23 @@ void Permission::ThrowAccessDenied(Environment* env,
136136
const std::string_view& res) {
137137
Local<Value> err = ERR_ACCESS_DENIED(env->isolate());
138138
CHECK(err->IsObject());
139-
err.As<Object>()
140-
->Set(env->context(),
141-
env->permission_string(),
142-
v8::String::NewFromUtf8(env->isolate(),
143-
PermissionToString(perm),
144-
v8::NewStringType::kNormal)
145-
.ToLocalChecked())
146-
.FromMaybe(false);
147-
err.As<Object>()
148-
->Set(env->context(),
149-
env->resource_string(),
150-
v8::String::NewFromUtf8(env->isolate(),
151-
std::string(res).c_str(),
152-
v8::NewStringType::kNormal)
153-
.ToLocalChecked())
154-
.FromMaybe(false);
139+
if (err.As<Object>()
140+
->Set(env->context(),
141+
env->permission_string(),
142+
v8::String::NewFromUtf8(env->isolate(),
143+
PermissionToString(perm),
144+
v8::NewStringType::kNormal)
145+
.ToLocalChecked())
146+
.IsNothing() ||
147+
err.As<Object>()
148+
->Set(env->context(),
149+
env->resource_string(),
150+
v8::String::NewFromUtf8(env->isolate(),
151+
std::string(res).c_str(),
152+
v8::NewStringType::kNormal)
153+
.ToLocalChecked())
154+
.IsNothing())
155+
return;
155156
env->isolate()->ThrowException(err);
156157
}
157158

0 commit comments

Comments
 (0)