diff --git a/KAELz4/src/v1/kaelz4_comp.c b/KAELz4/src/v1/kaelz4_comp.c index 330ad546befee88598a16e4e980dafcf3e0b6b90..5928b237fab26083984d2197f07f5cf07de06729 100644 --- a/KAELz4/src/v1/kaelz4_comp.c +++ b/KAELz4/src/v1/kaelz4_comp.c @@ -15,6 +15,10 @@ __thread struct kaelz4_async_ctrl g_async_ctrl = {0}; void kaelz4_setstatus_v1(LZ4_CCtx* zc, unsigned int status) { + if (!zc) { + US_ERR("kaelz4 ctx is NULL."); + return; + } kaelz4_ctx_t* kaelz4_ctx = (kaelz4_ctx_t*)zc->kaeConfig; if (kaelz4_ctx) { kaelz4_ctx->lz4_data.blk_type = status; diff --git a/KAELz4/src/v2/kaelz4_config.c b/KAELz4/src/v2/kaelz4_config.c index a80ec1ce84303e41b1e4861ebb976e0560c0ab12..1bc3a5d8a7e1722f1dacc71b48d740234977c5ff 100644 --- a/KAELz4/src/v2/kaelz4_config.c +++ b/KAELz4/src/v2/kaelz4_config.c @@ -156,6 +156,11 @@ static int kaelz4_create_session(KaeLz4Config *config, int lz4_level) return KAE_LZ4_ALLOC_FAIL; } config->req.dst = malloc(REQ_DSTBUFF_LEN); + if (!config->req.dst) { + US_ERR("failed to alloc req dst!\n"); + wd_comp_free_sess(config->sess); + return KAE_LZ4_ALLOC_FAIL; + } config->req.dst_len = REQ_DSTBUFF_LEN; config->req.op_type = WD_DIR_COMPRESS; config->req.data_fmt = WD_FLAT_BUF; diff --git a/KAEOpensslEngine/src/v1/alg/ciphers/sec_ciphers_aead.c b/KAEOpensslEngine/src/v1/alg/ciphers/sec_ciphers_aead.c index 3fe52dbdebc910002dbe6a88d9d5b42365102aca..3e27957557dac614ddfe4f78c8a26db8ac3ae793 100644 --- a/KAEOpensslEngine/src/v1/alg/ciphers/sec_ciphers_aead.c +++ b/KAEOpensslEngine/src/v1/alg/ciphers/sec_ciphers_aead.c @@ -285,6 +285,8 @@ static int sec_aes_gcm_init(EVP_CIPHER_CTX *ctx, const unsigned char *ckey, if (ckey) { ckey_len = EVP_CIPHER_CTX_key_length(ctx); priv_ctx->key = (uint8_t *)kae_malloc(ckey_len); + if (!priv_ctx->key) + goto ERR; kae_memcpy(priv_ctx->key, ckey, ckey_len); wcrypto_set_aead_ckey(priv_ctx->e_aead_ctx->wd_ctx, priv_ctx->key, ckey_len); priv_ctx->key_len = ckey_len; //感觉多余,考虑是否删除该成员变量 @@ -313,6 +315,7 @@ static int sec_aes_gcm_init(EVP_CIPHER_CTX *ctx, const unsigned char *ckey, #endif return OPENSSL_SUCCESS; ERR: + US_DEBUG("init failed!"); sec_aead_engine_cleanup(priv_ctx); //do soft? return OPENSSL_FAIL; diff --git a/KAEZstd/src/v2/kaezstd_compress.c b/KAEZstd/src/v2/kaezstd_compress.c index ed7b87173d503f92743787194e3d1963d69371c5..d98e727ee95121ec3f4cf7394847823c8a2ec00c 100644 --- a/KAEZstd/src/v2/kaezstd_compress.c +++ b/KAEZstd/src/v2/kaezstd_compress.c @@ -23,7 +23,8 @@ void kaezstd_setstatus_v2(ZSTD_CCtx* zc, unsigned int status) { KaeZstdConfig *config; config = kaezstd_get_config(zc); - config->tuple.bstatus = status; + if (config) + config->tuple.bstatus = status; } static int kaezstd_data_parsing(ZSTD_CCtx* zc, KaeZstdConfig* config)