also check that the pubkey is set when calculating the MAC

This commit is contained in:
Hubert Chathi 2020-09-23 16:45:36 -04:00
parent 78d9cbabb7
commit ec5ff1e032

View file

@ -141,6 +141,10 @@ size_t olm_sas_calculate_mac(
sas->last_error = OLM_OUTPUT_BUFFER_TOO_SMALL; sas->last_error = OLM_OUTPUT_BUFFER_TOO_SMALL;
return (size_t)-1; return (size_t)-1;
} }
if (!sas->their_key_set) {
sas->last_error = OLM_SAS_THEIR_KEY_NOT_SET;
return (size_t)-1;
}
uint8_t key[32]; uint8_t key[32];
_olm_crypto_hkdf_sha256( _olm_crypto_hkdf_sha256(
sas->secret, sizeof(sas->secret), sas->secret, sizeof(sas->secret),
@ -164,6 +168,10 @@ size_t olm_sas_calculate_mac_long_kdf(
sas->last_error = OLM_OUTPUT_BUFFER_TOO_SMALL; sas->last_error = OLM_OUTPUT_BUFFER_TOO_SMALL;
return (size_t)-1; return (size_t)-1;
} }
if (!sas->their_key_set) {
sas->last_error = OLM_SAS_THEIR_KEY_NOT_SET;
return (size_t)-1;
}
uint8_t key[256]; uint8_t key[256];
_olm_crypto_hkdf_sha256( _olm_crypto_hkdf_sha256(
sas->secret, sizeof(sas->secret), sas->secret, sizeof(sas->secret),