mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-07-01 20:32:35 +00:00
fix(core): scope Cardano confirmation to allow GC
Otherwise, we may run out of heap due to recursion. [no changelog]
This commit is contained in:
parent
103568e2e5
commit
2400fcb95d
@ -89,9 +89,11 @@ async def show_native_script(
|
||||
key_hash = script.key_hash # local_cache_attribute
|
||||
scripts = script.scripts # local_cache_attribute
|
||||
|
||||
script_heading = "Script"
|
||||
if indices is None:
|
||||
indices = []
|
||||
|
||||
async def confirm_native_script() -> None:
|
||||
script_heading = "Script"
|
||||
if indices:
|
||||
script_heading += " " + ".".join(str(i) for i in indices)
|
||||
|
||||
@ -148,6 +150,9 @@ async def show_native_script(
|
||||
br_code=BRT_Other,
|
||||
)
|
||||
|
||||
# Allow GC to free local variables after confirmation is over
|
||||
await confirm_native_script()
|
||||
|
||||
for i, sub_script in enumerate(scripts):
|
||||
await show_native_script(sub_script, indices + [i + 1])
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user