SIGN IN SIGN UP

fix: Propagate hash_filtering_path() failures instead of swallowing them

The 11 EIP-712 filter command handlers (calldata value/callee/chain-
id/selector/amount/spender, plus the various other filter kinds)
called hash_filtering_path() purely for its side effect on the
signature-verification hash and ignored its bool return. When the
helper bails on path_get_nth_field()/ui_712_get_discarded_path()
returning NULL, the hash context is left mid-update; the subsequent
sig_verif_end() then verifies an incomplete hash against the host-
supplied signature. The downstream signature check still catches the
mismatch in practice, so this isn't a bypass, but it produces a
generic "signature failed" error several lines later instead of
identifying the actual problem.

Wrap each call site in `if (!hash_filtering_path(...)) return false;`
so the failure is surfaced at the point where the inconsistency
appears.

(cherry picked from commit b6ce3eb96da65d0a5a2d9d35cde7c7bb2fb75681)
C
Charles-Edouard de la Vergne committed
405ee4aff7a5076876247004b0cdbb4259d2e1b9
Parent: a632602
Committed by Alexandre Paillier <alexandre.paillier@ledger.fr> on 8/25/2026, 3:04:00 PM