/* compute the secret */
evbuffer_remove (inbuf, yb, KEY_LEN);
- tr_cryptoComputeSecret (handshake->crypto, yb);
+ if (!tr_cryptoComputeSecret (handshake->crypto, yb))
+ return tr_handshakeDone (handshake, false);
/* now send these: HASH ('req1', S), HASH ('req2', SKEY) xor HASH ('req3', S),
* ENCRYPT (VC, crypto_provide, len (PadC), PadC, len (IA)), ENCRYPT (IA) */
/* read the incoming peer's public key */
evbuffer_remove (inbuf, ya, KEY_LEN);
- tr_cryptoComputeSecret (handshake->crypto, ya);
+ if (!tr_cryptoComputeSecret (handshake->crypto, ya))
+ return tr_handshakeDone (handshake, false);
+
computeRequestHash (handshake, "req1", handshake->myReq1);
/* send our public key to the peer */