From 6c2db5e8661907ce2f736b54fafbc81158b0706d Mon Sep 17 00:00:00 2001 From: srr101 Date: Fri, 5 May 2023 15:07:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9len=E7=9A=84?= =?UTF-8?q?=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: srr101 --- .../inner_api/dataobs_manager/include/dataobs_mgr_changeinfo.h | 1 + services/dataobsmgr/src/dataobs_mgr_changeinfo.cpp | 3 +++ 2 files changed, 4 insertions(+) diff --git a/interfaces/inner_api/dataobs_manager/include/dataobs_mgr_changeinfo.h b/interfaces/inner_api/dataobs_manager/include/dataobs_mgr_changeinfo.h index bebdb25426..1f54a93260 100644 --- a/interfaces/inner_api/dataobs_manager/include/dataobs_mgr_changeinfo.h +++ b/interfaces/inner_api/dataobs_manager/include/dataobs_mgr_changeinfo.h @@ -37,6 +37,7 @@ struct ChangeInfo { mutable std::list uris_ = {}; const void *data_ = nullptr; uint32_t size_ = 0; + static constexpr int LIST_MAX_COUNT = 3000; }; } // namespace AAFwk } // namespace OHOS diff --git a/services/dataobsmgr/src/dataobs_mgr_changeinfo.cpp b/services/dataobsmgr/src/dataobs_mgr_changeinfo.cpp index c9354969b3..ffc76a6dab 100644 --- a/services/dataobsmgr/src/dataobs_mgr_changeinfo.cpp +++ b/services/dataobsmgr/src/dataobs_mgr_changeinfo.cpp @@ -53,6 +53,9 @@ bool ChangeInfo::Unmarshalling(ChangeInfo &output, MessageParcel &parcel) if (!parcel.ReadUint32(len)) { return false; } + if (len > LIST_MAX_COUNT) { + return false; + } std::list uris; for (uint32_t i = 0; i < len; i++) {