!36 merge master into master

CVE-2025-62813-fix

Created-by: summerpass
Commit-by: unknown
Merged-by: openharmony_ci
Description: ### 相关的Issue
https://gitcode.com/openharmony/third_party_lz4/issues/39?ref=&did=3363196#tid-3363196
  
### 原因(目的、解决的问题等)
CVE-2025-62813-fix

### 描述(做了什么,变更了什么)
CVE-2025-62813-fix

### 测试用例(新增、改动、可能影响的功能)
    
    
### 是否需要同步至release(如:3.0LTS ...)分支?



See merge request: openharmony/third_party_lz4!36
This commit is contained in:
openharmony_ci
2025-10-29 13:42:17 +08:00
2 changed files with 18 additions and 4 deletions
+13 -2
View File
@@ -539,9 +539,16 @@ LZ4F_CDict*
LZ4F_createCDict_advanced(LZ4F_CustomMem cmem, const void* dictBuffer, size_t dictSize)
{
const char* dictStart = (const char*)dictBuffer;
LZ4F_CDict* const cdict = (LZ4F_CDict*)LZ4F_malloc(sizeof(*cdict), cmem);
LZ4F_CDict* cdict = NULL;
DEBUGLOG(4, "LZ4F_createCDict_advanced");
if (!cdict) return NULL;
if (!dictStart)
return NULL;
cdict = (LZ4F_CDict*)LZ4F_malloc(sizeof(*cdict), cmem);
if (!cdict)
return NULL;
cdict->cmem = cmem;
if (dictSize > 64 KB) {
dictStart += dictSize - 64 KB;
@@ -1486,6 +1493,10 @@ LZ4F_errorCode_t LZ4F_getFrameInfo(LZ4F_dctx* dctx,
LZ4F_frameInfo_t* frameInfoPtr,
const void* srcBuffer, size_t* srcSizePtr)
{
assert(dctx != NULL);
RETURN_ERROR_IF(frameInfoPtr == NULL, parameter_null);
RETURN_ERROR_IF(srcSizePtr == NULL, parameter_null);
LZ4F_STATIC_ASSERT(dstage_getFrameHeader < dstage_storeFrameHeader);
if (dctx->dStage > dstage_storeFrameHeader) {
/* frameInfo already decoded */
+5 -2
View File
@@ -714,9 +714,12 @@ static int unitTests(U32 seed, double compressibility)
size_t const srcSize = 65 KB; /* must be > 64 KB to avoid short-size optimizations */
size_t const dstCapacity = LZ4F_compressFrameBound(srcSize, NULL);
size_t cSizeNoDict, cSizeWithDict;
LZ4F_CDict* const cdict = LZ4F_createCDict(CNBuffer, dictSize);
if (cdict == NULL) goto _output_error;
LZ4F_CDict* cdict = NULL;
CHECK( LZ4F_createCompressionContext(&cctx, LZ4F_VERSION) );
cdict = LZ4F_createCDict(CNBuffer, dictSize);
if (cdict == NULL)
goto _output_error;
DISPLAYLEVEL(3, "Testing LZ4F_createCDict_advanced : ");
{ LZ4F_CDict* const cda = LZ4F_createCDict_advanced(lz4f_cmem_test, CNBuffer, dictSize);