mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 14:51:11 +01:00
Remove a little duplicated code in TAP key expansion
patch from pfrankw; closes 17587.
This commit is contained in:
parent
43609fba77
commit
accb726db6
2 changed files with 8 additions and 8 deletions
3
changes/cleanup_17587
Normal file
3
changes/cleanup_17587
Normal file
|
@ -0,0 +1,3 @@
|
|||
o Code simplifications and refactorings:
|
||||
- Clean up a little duplicated code in crypto_expand_key_material_TAP.
|
||||
Closes ticket 17587; patch from "pfrankw".
|
|
@ -2159,7 +2159,7 @@ int
|
|||
crypto_expand_key_material_TAP(const uint8_t *key_in, size_t key_in_len,
|
||||
uint8_t *key_out, size_t key_out_len)
|
||||
{
|
||||
int i;
|
||||
int i, r = -1;
|
||||
uint8_t *cp, *tmp = tor_malloc(key_in_len+1);
|
||||
uint8_t digest[DIGEST_LEN];
|
||||
|
||||
|
@ -2171,19 +2171,16 @@ crypto_expand_key_material_TAP(const uint8_t *key_in, size_t key_in_len,
|
|||
++i, cp += DIGEST_LEN) {
|
||||
tmp[key_in_len] = i;
|
||||
if (crypto_digest((char*)digest, (const char *)tmp, key_in_len+1))
|
||||
goto err;
|
||||
goto exit;
|
||||
memcpy(cp, digest, MIN(DIGEST_LEN, key_out_len-(cp-key_out)));
|
||||
}
|
||||
memwipe(tmp, 0, key_in_len+1);
|
||||
tor_free(tmp);
|
||||
memwipe(digest, 0, sizeof(digest));
|
||||
return 0;
|
||||
|
||||
err:
|
||||
r = 0;
|
||||
exit:
|
||||
memwipe(tmp, 0, key_in_len+1);
|
||||
tor_free(tmp);
|
||||
memwipe(digest, 0, sizeof(digest));
|
||||
return -1;
|
||||
return r;
|
||||
}
|
||||
|
||||
/** Expand some secret key material according to RFC5869, using SHA256 as the
|
||||
|
|
Loading…
Add table
Reference in a new issue