diff --git a/libdmabufheap/include/dmabuf_alloc.h b/libdmabufheap/include/dmabuf_alloc.h index e8233198269f8a818663f971f00135d625e90ead..78198a96a63c26ace41dc452ab4b3c6431b5e617 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 b283b78b6f7a47b80f4cb110a89a012d7e1a1c49..6f6e02e2ab44d44e140d86559895c413e5289111 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 fb341473d1d62b52348234de1d599a80a13ebf32..e4859a06e7de21b64490785eaeaa8c24c1f841c6 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 2c150ca05f8453b4bea873523e16b5c915592908..cd5eccaa7c5d264aa49fb998e3713aff2f5fe391 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 */