From 8efbc7b503818f9f5c25ba6135b4845421041f58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E5=9B=BD=E5=BA=86?= Date: Mon, 20 Jan 2025 15:37:59 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=91=8A=E8=AD=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 韦国庆 --- av_transport/common/src/av_sync_utils.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/av_transport/common/src/av_sync_utils.cpp b/av_transport/common/src/av_sync_utils.cpp index c57b4b50..86fd9b5e 100644 --- a/av_transport/common/src/av_sync_utils.cpp +++ b/av_transport/common/src/av_sync_utils.cpp @@ -168,6 +168,8 @@ int32_t WriteFrameInfoToMemory(const AVTransSharedMemory &memory, uint32_t frame memory.name.c_str(), memory.size, memory.fd); TRUE_RETURN_V_MSG_E(IsInValidSharedMemory(memory), ERR_DH_AVT_INVALID_PARAM, "invalid input shared memory"); + TRUE_RETURN_V_MSG_E(memory.size < 12, ERR_DH_AVT_INVALID_PARAM, + "Memory.size is too small, future access may exceed the limit"); TRUE_RETURN_V_MSG_E((frameNum <= 0), ERR_DH_AVT_INVALID_PARAM, "invalid input frame number"); int size = AshmemGetSize(memory.fd); @@ -199,6 +201,8 @@ int32_t ReadFrameInfoFromMemory(const AVTransSharedMemory &memory, uint32_t &fra AVTRANS_LOGI("read frame info from shared memory, name=%{public}s, size=%{public}" PRId32 ", fd=%{public}" PRId32, memory.name.c_str(), memory.size, memory.fd); TRUE_RETURN_V_MSG_E(IsInValidSharedMemory(memory), ERR_DH_AVT_INVALID_PARAM, "invalid input shared memory"); + TRUE_RETURN_V_MSG_E(memory.size < 12, ERR_DH_AVT_INVALID_PARAM, + "Memory.size is too small, future access may exceed the limit"); int size = AshmemGetSize(memory.fd); TRUE_RETURN_V_MSG_E(size != memory.size, ERR_DH_AVT_SHARED_MEMORY_FAILED, "invalid memory size = %{public}" PRId32, -- Gitee From f57d69a12028266a2803c03d9f356b74dc4710b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E5=9B=BD=E5=BA=86?= Date: Mon, 20 Jan 2025 16:07:18 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=91=8A=E8=AD=A6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 韦国庆 --- av_transport/common/src/av_sync_utils.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/av_transport/common/src/av_sync_utils.cpp b/av_transport/common/src/av_sync_utils.cpp index 86fd9b5e..f53a3cfa 100644 --- a/av_transport/common/src/av_sync_utils.cpp +++ b/av_transport/common/src/av_sync_utils.cpp @@ -168,7 +168,8 @@ int32_t WriteFrameInfoToMemory(const AVTransSharedMemory &memory, uint32_t frame memory.name.c_str(), memory.size, memory.fd); TRUE_RETURN_V_MSG_E(IsInValidSharedMemory(memory), ERR_DH_AVT_INVALID_PARAM, "invalid input shared memory"); - TRUE_RETURN_V_MSG_E(memory.size < 12, ERR_DH_AVT_INVALID_PARAM, + int mSize = 12; + TRUE_RETURN_V_MSG_E(memory.size < mSize, ERR_DH_AVT_INVALID_PARAM, "Memory.size is too small, future access may exceed the limit"); TRUE_RETURN_V_MSG_E((frameNum <= 0), ERR_DH_AVT_INVALID_PARAM, "invalid input frame number"); @@ -201,7 +202,8 @@ int32_t ReadFrameInfoFromMemory(const AVTransSharedMemory &memory, uint32_t &fra AVTRANS_LOGI("read frame info from shared memory, name=%{public}s, size=%{public}" PRId32 ", fd=%{public}" PRId32, memory.name.c_str(), memory.size, memory.fd); TRUE_RETURN_V_MSG_E(IsInValidSharedMemory(memory), ERR_DH_AVT_INVALID_PARAM, "invalid input shared memory"); - TRUE_RETURN_V_MSG_E(memory.size < 12, ERR_DH_AVT_INVALID_PARAM, + int mSize = 12; + TRUE_RETURN_V_MSG_E(memory.size < mSize, ERR_DH_AVT_INVALID_PARAM, "Memory.size is too small, future access may exceed the limit"); int size = AshmemGetSize(memory.fd); -- Gitee