From bf571c16a061f8aad0617b7bd6be99e14505ae67 Mon Sep 17 00:00:00 2001 From: gaochao Date: Tue, 5 Nov 2024 14:54:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=85=A8=E5=91=8A=E8=AD=A6=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: gaochao --- src/json_compiler.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/json_compiler.cpp b/src/json_compiler.cpp index 67026f6..c400815 100644 --- a/src/json_compiler.cpp +++ b/src/json_compiler.cpp @@ -187,6 +187,11 @@ bool JsonCompiler::HandleInteger(const cJSON *objectNode, ResourceItem &resource bool JsonCompiler::HandleBoolean(const cJSON *objectNode, ResourceItem &resourceItem) const { cJSON *valueNode = cJSON_GetObjectItem(objectNode, TAG_VALUE.c_str()); + if (valueNode == nullptr) { + cerr << "Error: '" << resourceItem.GetName() << "' value not json."; + cerr << NEW_LINE_PATH << resourceItem.GetFilePath() << endl; + return false; + } if (cJSON_IsString(valueNode)) { regex ref("^\\$(ohos:)?boolean:.*"); if (!regex_match(valueNode->valuestring, ref)) { @@ -404,6 +409,12 @@ bool JsonCompiler::ParseValueArray(const cJSON *objectNode, ResourceItem &resour const vector &extra, HandleValue callback) const { cJSON *arrayNode = cJSON_GetObjectItem(objectNode, TAG_VALUE.c_str()); + if (arrayNode == nullptr) { + cerr << "Error: '" << resourceItem.GetName() << "' value not json."; + cerr << NEW_LINE_PATH << resourceItem.GetFilePath() << endl; + return false; + } + if (!cJSON_IsArray(arrayNode)) { cerr << "Error: '" << resourceItem.GetName() << "' value not array."; cerr << NEW_LINE_PATH << resourceItem.GetFilePath() << endl;