diff --git a/lib/hcrypto/des.c b/lib/hcrypto/des.c index 32f87b471..cb9cac74b 100644 --- a/lib/hcrypto/des.c +++ b/lib/hcrypto/des.c @@ -344,14 +344,14 @@ load(const unsigned char *b, uint32_t v[2]) static void store(const uint32_t v[2], unsigned char *b) { - b[0] = (v[0] >> 24) & 0xff; - b[1] = (v[0] >> 16) & 0xff; - b[2] = (v[0] >> 8) & 0xff; - b[3] = (v[0] >> 0) & 0xff; - b[4] = (v[1] >> 24) & 0xff; - b[5] = (v[1] >> 16) & 0xff; - b[6] = (v[1] >> 8) & 0xff; - b[7] = (v[1] >> 0) & 0xff; + b[0] = (v[0] >> 24) & 0xffU; + b[1] = (v[0] >> 16) & 0xffU; + b[2] = (v[0] >> 8) & 0xffU; + b[3] = (v[0] >> 0) & 0xffU; + b[4] = (v[1] >> 24) & 0xffU; + b[5] = (v[1] >> 16) & 0xffU; + b[6] = (v[1] >> 8) & 0xffU; + b[7] = (v[1] >> 0) & 0xffU; } /** diff --git a/lib/hcrypto/mdtest.c b/lib/hcrypto/mdtest.c index d301c5c4a..bf151355a 100644 --- a/lib/hcrypto/mdtest.c +++ b/lib/hcrypto/mdtest.c @@ -51,9 +51,9 @@ struct hash_foo { const char *name; size_t psize; size_t hsize; - void (*init)(void*); - void (*update)(void*, const void*, size_t); - void (*final)(void*, void*); + int (*init)(void*); + int (*update)(void*, const void*, size_t); + int (*final)(void*, void*); const EVP_MD * (*evp)(void); } md2 = { "MD2", @@ -67,52 +67,52 @@ struct hash_foo { "MD4", sizeof(MD4_CTX), 16, - (void (*)(void*))MD4_Init, - (void (*)(void*,const void*, size_t))MD4_Update, - (void (*)(void*, void*))MD4_Final, + (int (*)(void*))MD4_Init, + (int (*)(void*,const void*, size_t))MD4_Update, + (int (*)(void*, void*))MD4_Final, EVP_md4 }, md5 = { "MD5", sizeof(MD5_CTX), 16, - (void (*)(void*))MD5_Init, - (void (*)(void*,const void*, size_t))MD5_Update, - (void (*)(void*, void*))MD5_Final, + (int (*)(void*))MD5_Init, + (int (*)(void*,const void*, size_t))MD5_Update, + (int (*)(void*, void*))MD5_Final, EVP_md5 }, sha1 = { "SHA-1", sizeof(struct sha), 20, - (void (*)(void*))SHA1_Init, - (void (*)(void*,const void*, size_t))SHA1_Update, - (void (*)(void*, void*))SHA1_Final, + (int (*)(void*))SHA1_Init, + (int (*)(void*,const void*, size_t))SHA1_Update, + (int (*)(void*, void*))SHA1_Final, EVP_sha1 }; struct hash_foo sha256 = { "SHA-256", sizeof(SHA256_CTX), 32, - (void (*)(void*))SHA256_Init, - (void (*)(void*,const void*, size_t))SHA256_Update, - (void (*)(void*, void*))SHA256_Final, + (int (*)(void*))SHA256_Init, + (int (*)(void*,const void*, size_t))SHA256_Update, + (int (*)(void*, void*))SHA256_Final, EVP_sha256 }; struct hash_foo sha384 = { "SHA-384", sizeof(SHA384_CTX), 48, - (void (*)(void*))SHA384_Init, - (void (*)(void*,const void*, size_t))SHA384_Update, - (void (*)(void*, void*))SHA384_Final, + (int (*)(void*))SHA384_Init, + (int (*)(void*,const void*, size_t))SHA384_Update, + (int (*)(void*, void*))SHA384_Final, EVP_sha384 }; struct hash_foo sha512 = { "SHA-512", sizeof(SHA512_CTX), 64, - (void (*)(void*))SHA512_Init, - (void (*)(void*,const void*, size_t))SHA512_Update, - (void (*)(void*, void*))SHA512_Final, + (int (*)(void*))SHA512_Init, + (int (*)(void*,const void*, size_t))SHA512_Update, + (int (*)(void*, void*))SHA512_Final, EVP_sha512 }; diff --git a/lib/hcrypto/pkcs5.c b/lib/hcrypto/pkcs5.c index dff3ccea3..88e71c4dd 100644 --- a/lib/hcrypto/pkcs5.c +++ b/lib/hcrypto/pkcs5.c @@ -85,7 +85,8 @@ PKCS5_PBKDF2_HMAC(const void * password, size_t password_len, data = &tmpcksum[checksumsize]; - memcpy(data, salt, salt_len); + if (salt_len) + memcpy(data, salt, salt_len); keypart = 1; leftofkey = keylen;