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