Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
There were two places in the code with missing return statements after errors. As a result, if something in key generation goes wrong, the wrapper will segfault while trying to allocate huge vectors for the keys.
It's interesting how these bugs remained unnoticed for such a long time (~4 years). This is because it's hard to make key pair generation fail and it works surprisingly well most of the time :)
This change will prevent some of the segfaults in the #996, but will not resolve the issue.
Checklist
[x] Change is covered by automated tests
[x] ~Benchmark results are attached (if applicable)~
There were two places in the code with missing return statements after errors. As a result, if something in key generation goes wrong, the wrapper will segfault while trying to allocate huge vectors for the keys.
It's interesting how these bugs remained unnoticed for such a long time (~4 years). This is because it's hard to make key pair generation fail and it works surprisingly well most of the time :)
This change will prevent some of the segfaults in the #996, but will not resolve the issue.
Checklist