This commit is contained in:
Zhi Guan
2018-11-16 15:26:33 +08:00
3 changed files with 6 additions and 4 deletions

4
crypto/sm2/sm2_oct.c Normal file → Executable file
View File

@@ -274,7 +274,9 @@ SM2CiphertextValue *o2i_SM2CiphertextValue(const EC_GROUP *group,
ret = cv;
end:
SM2CiphertextValue_free(cv);
if ((cv != *pout) && (!ret))
SM2CiphertextValue_free(cv);
EC_POINT_free(point);
BN_CTX_free(bn_ctx);
return ret;

4
crypto/sm3/sm3.c Normal file → Executable file
View File

@@ -110,8 +110,8 @@ void sm3_final(sm3_ctx_t *ctx, unsigned char *digest)
memset(ctx->block, 0, SM3_BLOCK_SIZE - 8);
}
count[0] = cpu_to_be32((ctx->nblocks) >> 23);
count[1] = cpu_to_be32((ctx->nblocks << 9) + (ctx->num << 3));
count[0] = cpu_to_be32((uint32_t)(ctx->nblocks >> 23));
count[1] = cpu_to_be32((uint32_t)(ctx->nblocks << 9) + (ctx->num << 3));
sm3_compress(ctx->digest, ctx->block);
for (i = 0; i < sizeof(ctx->digest)/sizeof(ctx->digest[0]); i++) {

2
include/openssl/sm3.h Normal file → Executable file
View File

@@ -70,7 +70,7 @@ extern "C" {
typedef struct {
uint32_t digest[8];
int nblocks;
uint64_t nblocks;
unsigned char block[64];
int num;
} sm3_ctx_t;