Skip to content

Commit b9fa8fa

Browse files
committed
Handle closing a non-existing event
1 parent 5bf781d commit b9fa8fa

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

qiling/os/uefi/bs.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -133,17 +133,22 @@ def hook_WaitForEvent(ql: Qiling, address: int, params):
133133
def hook_SignalEvent(ql: Qiling, address: int, params):
134134
event_id = params["Event"]
135135

136-
if event_id in ql.loader.events:
137-
signal_event(ql, event_id)
138-
return EFI_SUCCESS
139-
else:
136+
if event_id not in ql.loader.events:
140137
return EFI_INVALID_PARAMETER
141138

139+
signal_event(ql, event_id)
140+
141+
return EFI_SUCCESS
142+
142143
@dxeapi(params = {
143144
"Event": POINTER # EFI_EVENT
144145
})
145146
def hook_CloseEvent(ql: Qiling, address: int, params):
146147
event_id = params["Event"]
148+
149+
if event_id not in ql.loader.events:
150+
return EFI_INVALID_PARAMETER
151+
147152
del ql.loader.events[event_id]
148153

149154
return EFI_SUCCESS

0 commit comments

Comments
 (0)