From 30fd1000c0a82f8be38afffa58696ad91300404c Mon Sep 17 00:00:00 2001 From: lixiang Date: Tue, 24 Oct 2023 09:28:36 +0800 Subject: [PATCH] Signed-off-by: lixiang Change-Id: Iacf3be7549ebe20fae8d4ff45b512227a00d20d2 --- libdmabufheap/include/dmabuf_alloc.h | 4 ++++ libdmabufheap/src/dmabuf_alloc.c | 2 +- libpurgeablemem/c/include/purgeable_mem_c.h | 4 ++++ libpurgeablemem/c/src/purgeable_mem_c.c | 4 ++-- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/libdmabufheap/include/dmabuf_alloc.h b/libdmabufheap/include/dmabuf_alloc.h index e823319..78198a9 100644 --- a/libdmabufheap/include/dmabuf_alloc.h +++ b/libdmabufheap/include/dmabuf_alloc.h @@ -16,6 +16,10 @@ #ifndef LIB_DMA_BUF_HEAP_H #define LIB_DMA_BUF_HEAP_H +#ifndef OHOS_MAXIMUM_HEAPBUFFER_ALLOC +#define OHOS_MAXIMUM_HEAPBUFFER_ALLOC ((1024) * (1024) * (1024)) /* 1G */ +#endif /* OHOS_MAXIMUM_HEAPBUFFER_ALLOC */ + #include #include #include diff --git a/libdmabufheap/src/dmabuf_alloc.c b/libdmabufheap/src/dmabuf_alloc.c index b283b78..6f6e02e 100644 --- a/libdmabufheap/src/dmabuf_alloc.c +++ b/libdmabufheap/src/dmabuf_alloc.c @@ -75,7 +75,7 @@ int DmabufHeapClose(unsigned int fd) int DmabufHeapBufferAlloc(unsigned int heapFd, DmabufHeapBuffer *buffer) { - if (buffer->size == 0) { + if (buffer->size <= 0 || buffer->size >= OHOS_MAXIMUM_HEAPBUFFER_ALLOC) { HILOG_ERROR(LOG_CORE, "alloc buffer size is wrong."); return -EINVAL; } diff --git a/libpurgeablemem/c/include/purgeable_mem_c.h b/libpurgeablemem/c/include/purgeable_mem_c.h index fb34147..e4859a0 100644 --- a/libpurgeablemem/c/include/purgeable_mem_c.h +++ b/libpurgeablemem/c/include/purgeable_mem_c.h @@ -16,6 +16,10 @@ #ifndef OHOS_UTILS_MEMORY_LIBPURGEABLEMEM_C_INCLUDE_PURGEABLE_MEM_C_H #define OHOS_UTILS_MEMORY_LIBPURGEABLEMEM_C_INCLUDE_PURGEABLE_MEM_C_H +#ifndef OHOS_MAXIMUM_PURGEABLE_MEMORY_C +#define OHOS_MAXIMUM_PURGEABLE_MEMORY_C ((1024) * (1024) * (1024)) /* 1G */ +#endif /* OHOS_MAXIMUM_PURGEABLE_MEMORY_C */ + #include /* bool */ #include /* size_t */ diff --git a/libpurgeablemem/c/src/purgeable_mem_c.c b/libpurgeablemem/c/src/purgeable_mem_c.c index 2c150ca..cd5ecca 100644 --- a/libpurgeablemem/c/src/purgeable_mem_c.c +++ b/libpurgeablemem/c/src/purgeable_mem_c.c @@ -122,8 +122,8 @@ free_pug_obj: struct PurgMem *PurgMemCreate(size_t len, PurgMemModifyFunc func, void *funcPara) { - if (len == 0) { - PM_HILOG_ERROR_C(LOG_CORE, "%{public}s: input len 0", __func__); + if (len <= 0 || len >= OHOS_MAXIMUM_PURGEABLE_MEMORY_C) { + PM_HILOG_ERROR_C(LOG_CORE, "%{public}s: input len error", __func__); return NULL; } /* a PurgMemObj must have builder */ -- Gitee