Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The po->C_GetInterface is passed the callers ppInterface where *ppInterface may not be valid. if the po->C_GetInterface may not update the *ppInterface and return an error. In this case spy_interface_function_list should not be called, as it assumes the *ppInterface has been modified. Found debugging FireFox version 121 where FireFox passes a ppInterface where *ppInterface is not a valid pointer, causing a segfault in spy_interface_function_list. FireFox calls C_GetInterface twice with flags = CKF_INTERFACE_FORK_SAFE twice then on third time requests with flag = 0 where po->GetInterface can support and it updates the *ppInterface with valid data. See OpenSC#2987 On branch pkcs11-spy-segfault Changes to be committed: modified: pkcs11-spy.c
- Loading branch information