Avoid VLA in hash.h

Github-Pull: #9791
Rebased-From: 5c8fd50811
This commit is contained in:
Pieter Wuille 2017-02-17 15:28:28 -08:00 committed by Wladimir J. van der Laan
parent 289204fbe0
commit 1825a03f81
No known key found for this signature in database
GPG key ID: 74810B012346C9A6

View file

@ -25,9 +25,9 @@ public:
static const size_t OUTPUT_SIZE = CSHA256::OUTPUT_SIZE; static const size_t OUTPUT_SIZE = CSHA256::OUTPUT_SIZE;
void Finalize(unsigned char hash[OUTPUT_SIZE]) { void Finalize(unsigned char hash[OUTPUT_SIZE]) {
unsigned char buf[sha.OUTPUT_SIZE]; unsigned char buf[CSHA256::OUTPUT_SIZE];
sha.Finalize(buf); sha.Finalize(buf);
sha.Reset().Write(buf, sha.OUTPUT_SIZE).Finalize(hash); sha.Reset().Write(buf, CSHA256::OUTPUT_SIZE).Finalize(hash);
} }
CHash256& Write(const unsigned char *data, size_t len) { CHash256& Write(const unsigned char *data, size_t len) {
@ -49,9 +49,9 @@ public:
static const size_t OUTPUT_SIZE = CRIPEMD160::OUTPUT_SIZE; static const size_t OUTPUT_SIZE = CRIPEMD160::OUTPUT_SIZE;
void Finalize(unsigned char hash[OUTPUT_SIZE]) { void Finalize(unsigned char hash[OUTPUT_SIZE]) {
unsigned char buf[sha.OUTPUT_SIZE]; unsigned char buf[CSHA256::OUTPUT_SIZE];
sha.Finalize(buf); sha.Finalize(buf);
CRIPEMD160().Write(buf, sha.OUTPUT_SIZE).Finalize(hash); CRIPEMD160().Write(buf, CSHA256::OUTPUT_SIZE).Finalize(hash);
} }
CHash160& Write(const unsigned char *data, size_t len) { CHash160& Write(const unsigned char *data, size_t len) {