From d75fbee262d6a87f2b0b5c34d5b0badb80346544 Mon Sep 17 00:00:00 2001 From: beiyuani Date: Wed, 10 Sep 2025 03:26:28 +0000 Subject: [PATCH 1/5] bugfix: Add null check for priv_ctx->key to prevent NULL pointer dereference --- KAEOpensslEngine/src/v1/alg/ciphers/sec_ciphers_aead.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/KAEOpensslEngine/src/v1/alg/ciphers/sec_ciphers_aead.c b/KAEOpensslEngine/src/v1/alg/ciphers/sec_ciphers_aead.c index 3fe52db..3e27957 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; -- Gitee From 66f18c03282e39b67e1a762f46b9e0a8800df764 Mon Sep 17 00:00:00 2001 From: beiyuani Date: Thu, 11 Sep 2025 12:21:40 +0000 Subject: [PATCH 2/5] update KAELz4/src/v2/kaelz4_config.c. --- KAELz4/src/v2/kaelz4_config.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/KAELz4/src/v2/kaelz4_config.c b/KAELz4/src/v2/kaelz4_config.c index a80ec1c..00d5767 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; -- Gitee From 0aeb3a114a1926e249511a1d0e555676579a83dc Mon Sep 17 00:00:00 2001 From: beiyuani Date: Thu, 11 Sep 2025 12:22:56 +0000 Subject: [PATCH 3/5] update KAEZstd/src/v2/kaezstd_compress.c. --- KAEZstd/src/v2/kaezstd_compress.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/KAEZstd/src/v2/kaezstd_compress.c b/KAEZstd/src/v2/kaezstd_compress.c index ed7b871..d98e727 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) -- Gitee From 692e7059bfde12f2991dcd7d64478eb029406d2b Mon Sep 17 00:00:00 2001 From: beiyuani Date: Thu, 11 Sep 2025 12:25:13 +0000 Subject: [PATCH 4/5] update KAELz4/src/v1/kaelz4_comp.c. --- KAELz4/src/v1/kaelz4_comp.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/KAELz4/src/v1/kaelz4_comp.c b/KAELz4/src/v1/kaelz4_comp.c index 330ad54..5928b23 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; -- Gitee From 142c2218ae0b4a3a4ef01a5f50eaeeda0810a0b5 Mon Sep 17 00:00:00 2001 From: beiyuani Date: Thu, 11 Sep 2025 12:50:21 +0000 Subject: [PATCH 5/5] update KAELz4/src/v2/kaelz4_config.c. --- KAELz4/src/v2/kaelz4_config.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KAELz4/src/v2/kaelz4_config.c b/KAELz4/src/v2/kaelz4_config.c index 00d5767..1bc3a5d 100644 --- a/KAELz4/src/v2/kaelz4_config.c +++ b/KAELz4/src/v2/kaelz4_config.c @@ -156,7 +156,7 @@ 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)) { + if (!config->req.dst) { US_ERR("failed to alloc req dst!\n"); wd_comp_free_sess(config->sess); return KAE_LZ4_ALLOC_FAIL; -- Gitee