From 3c4a957d42a4692ee0afb1b066c722c0248f8773 Mon Sep 17 00:00:00 2001 From: "@wu_fan520" Date: Mon, 18 Jul 2022 09:38:22 +0800 Subject: [PATCH] fix Code duplication Signed-off-by: @wu_fan520 --- .../accessftokenidgrptest_fuzzer/BUILD.gn | 2 +- .../accessftokenidgrptest_fuzzer.cpp | 2 +- .../BUILD.gn | 2 +- .../accessftokenidgrptestother_fuzzer.cpp | 2 +- .../accessftokenidthreadtest_fuzzer/BUILD.gn | 2 +- .../accessftokenidthreadtest_fuzzer.cpp | 2 +- .../getftokenidcmdcorrect_fuzzer/BUILD.gn | 2 +- .../getftokenidcmdcorrect_fuzzer.cpp | 10 +- .../getftokenidcmderror_fuzzer/BUILD.gn | 2 +- .../getftokenidcmderror_fuzzer.cpp | 10 +- .../getftokenidnullptr_fuzzer/BUILD.gn | 2 +- .../getftokenidnullptr_fuzzer.cpp | 2 +- .../gettokenidcmdcorrect_fuzzer.cpp | 8 +- .../gettokenidcmderror_fuzzer.cpp | 8 +- .../include/accessftokenidcommon.h | 71 ------- .../include/accesstokenidcommon.h | 34 +++- .../setftokenidcmdcorrect_fuzzer/BUILD.gn | 2 +- .../setftokenidcmdcorrect_fuzzer.cpp | 10 +- .../setftokenidcmdcorrect_fuzzer.h | 21 -- .../setftokenidcmderror_fuzzer/BUILD.gn | 2 +- .../setftokenidcmderror_fuzzer.cpp | 10 +- .../setftokenidcmderror_fuzzer.h | 21 -- .../setftokenidnullptr_fuzzer/BUILD.gn | 2 +- .../setftokenidnullptr_fuzzer.cpp | 2 +- .../settokenidcmdcorrect_fuzzer.cpp | 8 +- .../settokenidcmdcorrect_fuzzer.h | 21 -- .../settokenidcmderror_fuzzer.cpp | 8 +- .../src/accessftokenidcommon.cpp | 192 ------------------ .../accesstokenid/src/accesstokenidcommon.cpp | 142 +++++++++++++ .../fuzztest/hc_node/hcenable_fuzzer/BUILD.gn | 9 +- .../hcenable_fuzzer/hcenable_fuzzer.cpp | 32 +-- .../hchotdatalowerlimit_fuzzer/BUILD.gn | 7 +- .../hchotdatalowerlimit_fuzzer.cpp | 32 +-- .../hchotdatawaterline_fuzzer/BUILD.gn | 7 +- .../hchotdatawaterline_fuzzer.cpp | 32 +-- .../hchotnodelowerlimit_fuzzer/BUILD.gn | 7 +- .../hchotnodelowerlimit_fuzzer.cpp | 32 +-- .../hchotnodewaterline_fuzzer/BUILD.gn | 7 +- .../hchotnodewaterline_fuzzer.cpp | 32 +-- .../hcwarmdatalowerlimit_fuzzer/BUILD.gn | 7 +- .../hcwarmdatalowerlimit_fuzzer.cpp | 32 +-- .../hcwarmdatawaterline_fuzzer/BUILD.gn | 7 +- .../hcwarmdatawaterline_fuzzer.cpp | 32 +-- .../hcwarmnodelowerlimit_fuzzer/BUILD.gn | 7 +- .../hcwarmnodelowerlimit_fuzzer.cpp | 32 +-- .../hcwarmnodewaterline_fuzzer/BUILD.gn | 7 +- .../hcwarmnodewaterline_fuzzer.cpp | 39 +--- .../include/hccommon.h} | 5 +- .../src/hccommon.cpp} | 41 +++- .../BUILD.gn | 7 +- .../anonrefaultsnapshotmininterval_fuzzer.cpp | 25 +-- test/fuzztest/memory/appscore_fuzzer/BUILD.gn | 7 +- .../appscore_fuzzer/appscore_fuzzer.cpp | 25 +-- .../areaanonrefaultthreshold_fuzzer/BUILD.gn | 7 +- .../areaanonrefaultthreshold_fuzzer.cpp | 25 +-- .../memory/availbuffers_fuzzer/BUILD.gn | 7 +- .../availbuffers_fuzzer.cpp | 25 +-- .../memory/bufferratioparams_fuzzer/BUILD.gn | 7 +- .../bufferratioparams_fuzzer.cpp | 25 +-- .../memory/compressratio_fuzzer/BUILD.gn | 7 +- .../compressratio_fuzzer.cpp | 25 +-- .../emptyroundcheckthreshold_fuzzer/BUILD.gn | 7 +- .../emptyroundcheckthreshold_fuzzer.cpp | 25 +-- .../emptyroundskipinterval_fuzzer/BUILD.gn | 7 +- .../emptyroundskipinterval_fuzzer.cpp | 25 +-- .../memory/forceshrinkanon_fuzzer/BUILD.gn | 7 +- .../forceshrinkanon_fuzzer.cpp | 1 + .../include/memorycommon.h} | 7 +- .../memory/maxskipinterval_fuzzer/BUILD.gn | 7 +- .../maxskipinterval_fuzzer.cpp | 25 +-- test/fuzztest/memory/name_fuzzer/BUILD.gn | 7 +- .../memory/name_fuzzer/name_fuzzer.cpp | 25 +-- .../src/memorycommon.cpp} | 35 +++- .../memory/ubufs2zramratio_fuzzer/BUILD.gn | 7 +- .../ubufs2zramratio_fuzzer.cpp | 25 +-- .../zramcriticalthreshold_fuzzer/BUILD.gn | 7 +- .../zramcriticalthreshold_fuzzer.cpp | 25 +-- .../memory/zramwmratio_fuzzer/BUILD.gn | 7 +- .../zramwmratio_fuzzer/zramwmratio_fuzzer.cpp | 25 +-- .../zswapdmaxreclaimsize_fuzzer/BUILD.gn | 7 +- .../zswapdmaxreclaimsize_fuzzer.cpp | 25 +-- .../memory/zswapdmemcgsparam_fuzzer/BUILD.gn | 7 +- .../zswapdmemcgsparam_fuzzer.cpp | 25 +-- .../memory/zswapdpressureshow_fuzzer/BUILD.gn | 7 +- .../zswapdpressureshow_fuzzer.cpp | 25 +-- .../zswapdsinglememcgparam_fuzzer/BUILD.gn | 7 +- .../zswapdsinglememcgparam_fuzzer.cpp | 25 +-- 87 files changed, 511 insertions(+), 1091 deletions(-) delete mode 100644 test/fuzztest/accesstokenid/include/accessftokenidcommon.h delete mode 100644 test/fuzztest/accesstokenid/setftokenidcmdcorrect_fuzzer/setftokenidcmdcorrect_fuzzer.h delete mode 100644 test/fuzztest/accesstokenid/setftokenidcmderror_fuzzer/setftokenidcmderror_fuzzer.h delete mode 100644 test/fuzztest/accesstokenid/settokenidcmdcorrect_fuzzer/settokenidcmdcorrect_fuzzer.h delete mode 100644 test/fuzztest/accesstokenid/src/accessftokenidcommon.cpp rename test/fuzztest/{accesstokenid/settokenidcmderror_fuzzer/settokenidcmderror_fuzzer.h => hc_node/include/hccommon.h} (74%) rename test/fuzztest/{accesstokenid/gettokenidcmdcorrect_fuzzer/gettokenidcmdcorrect_fuzzer.h => hc_node/src/hccommon.cpp} (39%) rename test/fuzztest/{accesstokenid/gettokenidcmderror_fuzzer/gettokenidcmderror_fuzzer.h => memory/include/memorycommon.h} (74%) rename test/fuzztest/{accesstokenid/getftokenidcmdcorrect_fuzzer/getftokenidcmdcorrect_fuzzer.h => memory/src/memorycommon.cpp} (50%) diff --git a/test/fuzztest/accesstokenid/accessftokenidgrptest_fuzzer/BUILD.gn b/test/fuzztest/accesstokenid/accessftokenidgrptest_fuzzer/BUILD.gn index 25f6b34..6ed9dc3 100644 --- a/test/fuzztest/accesstokenid/accessftokenidgrptest_fuzzer/BUILD.gn +++ b/test/fuzztest/accesstokenid/accessftokenidgrptest_fuzzer/BUILD.gn @@ -31,7 +31,7 @@ ohos_fuzztest("AccessfTokenidGrpTestFuzzTest") { ] sources = [ - "../src/accessftokenidcommon.cpp", + "../src/accesstokenidcommon.cpp", "accessftokenidgrptest_fuzzer.cpp", ] } diff --git a/test/fuzztest/accesstokenid/accessftokenidgrptest_fuzzer/accessftokenidgrptest_fuzzer.cpp b/test/fuzztest/accesstokenid/accessftokenidgrptest_fuzzer/accessftokenidgrptest_fuzzer.cpp index aa78808..2dc2296 100644 --- a/test/fuzztest/accesstokenid/accessftokenidgrptest_fuzzer/accessftokenidgrptest_fuzzer.cpp +++ b/test/fuzztest/accesstokenid/accessftokenidgrptest_fuzzer/accessftokenidgrptest_fuzzer.cpp @@ -17,7 +17,7 @@ #include #include #include "__config" -#include "accessftokenidcommon.h" +#include "accesstokenidcommon.h" using namespace std; using namespace OHOS::Kernel::AccessToken; diff --git a/test/fuzztest/accesstokenid/accessftokenidgrptestother_fuzzer/BUILD.gn b/test/fuzztest/accesstokenid/accessftokenidgrptestother_fuzzer/BUILD.gn index d902d27..6e4cbfc 100644 --- a/test/fuzztest/accesstokenid/accessftokenidgrptestother_fuzzer/BUILD.gn +++ b/test/fuzztest/accesstokenid/accessftokenidgrptestother_fuzzer/BUILD.gn @@ -31,7 +31,7 @@ ohos_fuzztest("AccessfTokenidGrpTestOtherFuzzTest") { ] sources = [ - "../src/accessftokenidcommon.cpp", + "../src/accesstokenidcommon.cpp", "accessftokenidgrptestother_fuzzer.cpp", ] } diff --git a/test/fuzztest/accesstokenid/accessftokenidgrptestother_fuzzer/accessftokenidgrptestother_fuzzer.cpp b/test/fuzztest/accesstokenid/accessftokenidgrptestother_fuzzer/accessftokenidgrptestother_fuzzer.cpp index 5f5c841..6a58dfe 100644 --- a/test/fuzztest/accesstokenid/accessftokenidgrptestother_fuzzer/accessftokenidgrptestother_fuzzer.cpp +++ b/test/fuzztest/accesstokenid/accessftokenidgrptestother_fuzzer/accessftokenidgrptestother_fuzzer.cpp @@ -17,7 +17,7 @@ #include #include #include "__config" -#include "accessftokenidcommon.h" +#include "accesstokenidcommon.h" using namespace std; using namespace OHOS::Kernel::AccessToken; diff --git a/test/fuzztest/accesstokenid/accessftokenidthreadtest_fuzzer/BUILD.gn b/test/fuzztest/accesstokenid/accessftokenidthreadtest_fuzzer/BUILD.gn index 3bdbd2b..b842dac 100644 --- a/test/fuzztest/accesstokenid/accessftokenidthreadtest_fuzzer/BUILD.gn +++ b/test/fuzztest/accesstokenid/accessftokenidthreadtest_fuzzer/BUILD.gn @@ -31,7 +31,7 @@ ohos_fuzztest("AccessfTokenidThreadTestFuzzTest") { ] sources = [ - "../src/accessftokenidcommon.cpp", + "../src/accesstokenidcommon.cpp", "accessftokenidthreadtest_fuzzer.cpp", ] } diff --git a/test/fuzztest/accesstokenid/accessftokenidthreadtest_fuzzer/accessftokenidthreadtest_fuzzer.cpp b/test/fuzztest/accesstokenid/accessftokenidthreadtest_fuzzer/accessftokenidthreadtest_fuzzer.cpp index 9e8fbd6..ad8101a 100644 --- a/test/fuzztest/accesstokenid/accessftokenidthreadtest_fuzzer/accessftokenidthreadtest_fuzzer.cpp +++ b/test/fuzztest/accesstokenid/accessftokenidthreadtest_fuzzer/accessftokenidthreadtest_fuzzer.cpp @@ -17,7 +17,7 @@ #include #include #include "__config" -#include "accessftokenidcommon.h" +#include "accesstokenidcommon.h" using namespace std; using namespace OHOS::Kernel::AccessToken; diff --git a/test/fuzztest/accesstokenid/getftokenidcmdcorrect_fuzzer/BUILD.gn b/test/fuzztest/accesstokenid/getftokenidcmdcorrect_fuzzer/BUILD.gn index dd833e2..da9537e 100644 --- a/test/fuzztest/accesstokenid/getftokenidcmdcorrect_fuzzer/BUILD.gn +++ b/test/fuzztest/accesstokenid/getftokenidcmdcorrect_fuzzer/BUILD.gn @@ -30,7 +30,7 @@ ohos_fuzztest("GetfTokenidCmdCorrectFuzzTest") { ] sources = [ - "../src/accessftokenidcommon.cpp", + "../src/accesstokenidcommon.cpp", "getftokenidcmdcorrect_fuzzer.cpp", ] } diff --git a/test/fuzztest/accesstokenid/getftokenidcmdcorrect_fuzzer/getftokenidcmdcorrect_fuzzer.cpp b/test/fuzztest/accesstokenid/getftokenidcmdcorrect_fuzzer/getftokenidcmdcorrect_fuzzer.cpp index 0425ea0..f59e1c7 100644 --- a/test/fuzztest/accesstokenid/getftokenidcmdcorrect_fuzzer/getftokenidcmdcorrect_fuzzer.cpp +++ b/test/fuzztest/accesstokenid/getftokenidcmdcorrect_fuzzer/getftokenidcmdcorrect_fuzzer.cpp @@ -17,20 +17,14 @@ #include #include #include "__config" -#include "accessftokenidcommon.h" +#include "accesstokenidcommon.h" using namespace std; using namespace OHOS::Kernel::AccessToken; namespace OHOS { bool GetfTokenidCmdCorrectFuzzTest(const uint8_t *data, size_t size) { - bool ret = false; - if ((data == nullptr) || (size < sizeof(unsigned long long))) { - return ret; - } else { - unsigned long long tokenId = *(reinterpret_cast(data)); - ret = GetfTokenid(&tokenId); - } + bool ret = GetfTokenidCmdFuzzTest(data, size); return ret; } } diff --git a/test/fuzztest/accesstokenid/getftokenidcmderror_fuzzer/BUILD.gn b/test/fuzztest/accesstokenid/getftokenidcmderror_fuzzer/BUILD.gn index 66b1aab..1464b6f 100644 --- a/test/fuzztest/accesstokenid/getftokenidcmderror_fuzzer/BUILD.gn +++ b/test/fuzztest/accesstokenid/getftokenidcmderror_fuzzer/BUILD.gn @@ -30,7 +30,7 @@ ohos_fuzztest("GetfTokenidCmdErrorFuzzTest") { ] sources = [ - "../src/accessftokenidcommon.cpp", + "../src/accesstokenidcommon.cpp", "getftokenidcmderror_fuzzer.cpp", ] } diff --git a/test/fuzztest/accesstokenid/getftokenidcmderror_fuzzer/getftokenidcmderror_fuzzer.cpp b/test/fuzztest/accesstokenid/getftokenidcmderror_fuzzer/getftokenidcmderror_fuzzer.cpp index 0ffb6a9..3fb5237 100644 --- a/test/fuzztest/accesstokenid/getftokenidcmderror_fuzzer/getftokenidcmderror_fuzzer.cpp +++ b/test/fuzztest/accesstokenid/getftokenidcmderror_fuzzer/getftokenidcmderror_fuzzer.cpp @@ -15,20 +15,14 @@ #include #define CMDERROR -#include "accessftokenidcommon.h" +#include "accesstokenidcommon.h" using namespace std; using namespace OHOS::Kernel::AccessToken; namespace OHOS { bool GetfTokenidCmdCorrectFuzzTest(const uint8_t *data, size_t size) { - bool ret = false; - if ((data == nullptr) || (size < sizeof(unsigned long long))) { - return ret; - } else { - unsigned long long tokenId = *(reinterpret_cast(data)); - ret = GetfTokenid(&tokenId); - } + bool ret = GetfTokenidCmdFuzzTest(data, size); return ret; } } diff --git a/test/fuzztest/accesstokenid/getftokenidnullptr_fuzzer/BUILD.gn b/test/fuzztest/accesstokenid/getftokenidnullptr_fuzzer/BUILD.gn index a7aa727..8b092e6 100644 --- a/test/fuzztest/accesstokenid/getftokenidnullptr_fuzzer/BUILD.gn +++ b/test/fuzztest/accesstokenid/getftokenidnullptr_fuzzer/BUILD.gn @@ -30,7 +30,7 @@ ohos_fuzztest("GetfTokenidNullptrFuzzTest") { ] sources = [ - "../src/accessftokenidcommon.cpp", + "../src/accesstokenidcommon.cpp", "getftokenidnullptr_fuzzer.cpp", ] } diff --git a/test/fuzztest/accesstokenid/getftokenidnullptr_fuzzer/getftokenidnullptr_fuzzer.cpp b/test/fuzztest/accesstokenid/getftokenidnullptr_fuzzer/getftokenidnullptr_fuzzer.cpp index 8dbfbf3..0882bb7 100644 --- a/test/fuzztest/accesstokenid/getftokenidnullptr_fuzzer/getftokenidnullptr_fuzzer.cpp +++ b/test/fuzztest/accesstokenid/getftokenidnullptr_fuzzer/getftokenidnullptr_fuzzer.cpp @@ -19,7 +19,7 @@ #include #include #include "__config" -#include "accessftokenidcommon.h" +#include "accesstokenidcommon.h" using namespace std; using namespace OHOS::Kernel::AccessToken; diff --git a/test/fuzztest/accesstokenid/gettokenidcmdcorrect_fuzzer/gettokenidcmdcorrect_fuzzer.cpp b/test/fuzztest/accesstokenid/gettokenidcmdcorrect_fuzzer/gettokenidcmdcorrect_fuzzer.cpp index 4f2e592..310c2a9 100644 --- a/test/fuzztest/accesstokenid/gettokenidcmdcorrect_fuzzer/gettokenidcmdcorrect_fuzzer.cpp +++ b/test/fuzztest/accesstokenid/gettokenidcmdcorrect_fuzzer/gettokenidcmdcorrect_fuzzer.cpp @@ -26,13 +26,7 @@ using namespace OHOS::Kernel::AccessToken; namespace OHOS { bool GetTokenidCmdCorrectFuzzTest(const uint8_t *data, size_t size) { - bool ret = false; - if ((data == nullptr) || (size < sizeof(unsigned long long))) { - return ret; - } else { - unsigned long long tokenId = *(reinterpret_cast(data)); - ret = GetTokenid(&tokenId); - } + bool ret = GetTokenidCmdFuzzTest(data, size); return ret; } } diff --git a/test/fuzztest/accesstokenid/gettokenidcmderror_fuzzer/gettokenidcmderror_fuzzer.cpp b/test/fuzztest/accesstokenid/gettokenidcmderror_fuzzer/gettokenidcmderror_fuzzer.cpp index e594226..28255d6 100644 --- a/test/fuzztest/accesstokenid/gettokenidcmderror_fuzzer/gettokenidcmderror_fuzzer.cpp +++ b/test/fuzztest/accesstokenid/gettokenidcmderror_fuzzer/gettokenidcmderror_fuzzer.cpp @@ -25,13 +25,7 @@ using namespace OHOS::Kernel::AccessToken; namespace OHOS { bool GetTokenidCmdErrorFuzzTest(const uint8_t *data, size_t size) { - bool ret = false; - if ((data == nullptr) || (size < sizeof(unsigned long long))) { - return ret; - } else { - unsigned long long tokenId = *(reinterpret_cast(data)); - ret = GetTokenid(&tokenId); - } + bool ret = GetTokenidCmdFuzzTest(data, size); return ret; } } diff --git a/test/fuzztest/accesstokenid/include/accessftokenidcommon.h b/test/fuzztest/accesstokenid/include/accessftokenidcommon.h deleted file mode 100644 index fe074a4..0000000 --- a/test/fuzztest/accesstokenid/include/accessftokenidcommon.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ACCESSFTOKENIDCOMMON_H -#define ACCESSFTOKENIDCOMMON_H -#include - -#define FUZZ_PROJECT_NAME "accessftokenidcommon" - -namespace OHOS { -namespace Kernel { -namespace AccessToken { -#define ACCESS_TOKEN_ID_IOCTL_BASE 'A' - -#ifdef CMDERROR -constexpr unsigned int GET_FTOKEN_ID = 0; -constexpr unsigned int SET_FTOKEN_ID = 0; -#else -constexpr unsigned int GET_FTOKEN_ID = 3; -constexpr unsigned int SET_FTOKEN_ID = 4; -#endif - -#define ACCESS_TOKENID_GET_FTOKENID \ - _IOR(ACCESS_TOKEN_ID_IOCTL_BASE, GET_FTOKEN_ID, unsigned long long) -#define ACCESS_TOKENID_SET_FTOKENID \ - _IOW(ACCESS_TOKEN_ID_IOCTL_BASE, SET_FTOKEN_ID, unsigned long long) - -#define LIST_NUM_1 1 -#define LIST_NUM_2 2 -#define TEST_VALUE 123 -#define CHILDREN_NUM 3 -#define WAIT_FOR_SHELL_OP_TIME 1 -#define FATHER_WAIT_TIME (WAIT_FOR_SHELL_OP_TIME * (CHILDREN_NUM + 1)) - -#define ACCESS_TOKEN_UID 3020 -#define ACCESS_TOKEN_GRPID 3020 - -#define ACCESS_TOKEN_OTHER_UID 1234 -#define ACCESS_TOKEN_OTHER_GRPID 1234 - -#define INVAL_TOKEN 0xffffffffffffffff - -int GetfTokenid(unsigned long long *ftoken); -int SetfTokenid(unsigned long long *ftoken); - -void SetUidAndGrp(); -void SetUidAndGrpOther(); -void GetCurfToken(unsigned long long *ftoken); -void SetRandfTokenAndCheck(unsigned long long *data_ftoken); -void fTokenTest(unsigned long long *data_ftoken); -void ThreadTest(unsigned long long *data_ftoken); -int AccessfTokenidThreadTest(uint8_t *data_ftoken); -int AccessfTokenidGrpTest(uint8_t *data_ftoken); -int AccessfTokenidGrpTestOther(uint8_t *data_ftoken); -} // namespace AccessToken -} // namespace Kernel -} // namespace OHOS - -#endif // ACCESSTOKENIDCOMMON_H diff --git a/test/fuzztest/accesstokenid/include/accesstokenidcommon.h b/test/fuzztest/accesstokenid/include/accesstokenidcommon.h index 7b1cd98..856b61f 100644 --- a/test/fuzztest/accesstokenid/include/accesstokenidcommon.h +++ b/test/fuzztest/accesstokenid/include/accesstokenidcommon.h @@ -25,17 +25,25 @@ namespace AccessToken { #define ACCESS_TOKEN_ID_IOCTL_BASE 'A' #ifdef CMDERROR -constexpr unsigned int GET_TOKEN_ID = 0; -constexpr unsigned int SET_TOKEN_ID = 0; +constexpr unsigned int get_token_id = 0; +constexpr unsigned int set_token_id = 0; +constexpr unsigned int get_ftoken_id = 0; +constexpr unsigned int set_ftoken_id = 0; #else -constexpr unsigned int GET_TOKEN_ID = 1; -constexpr unsigned int SET_TOKEN_ID = 2; +constexpr unsigned int get_token_id = 1; +constexpr unsigned int set_token_id = 2; +constexpr unsigned int get_ftoken_id = 3; +constexpr unsigned int set_ftoken_id = 4; #endif #define ACCESS_TOKENID_GET_TOKENID \ - _IOR(ACCESS_TOKEN_ID_IOCTL_BASE, GET_TOKEN_ID, unsigned long long) + _IOR(ACCESS_TOKEN_ID_IOCTL_BASE, get_token_id, unsigned long long) #define ACCESS_TOKENID_SET_TOKENID \ - _IOW(ACCESS_TOKEN_ID_IOCTL_BASE, SET_TOKEN_ID, unsigned long long) + _IOW(ACCESS_TOKEN_ID_IOCTL_BASE, set_token_id, unsigned long long) +#define ACCESS_TOKENID_GET_FTOKENID \ + _IOR(ACCESS_TOKEN_ID_IOCTL_BASE, get_ftoken_id, unsigned long long) +#define ACCESS_TOKENID_SET_FTOKENID \ + _IOW(ACCESS_TOKEN_ID_IOCTL_BASE, set_ftoken_id, unsigned long long) #define LIST_NUM_1 1 #define LIST_NUM_2 2 @@ -54,6 +62,8 @@ constexpr unsigned int SET_TOKEN_ID = 2; int GetTokenid(unsigned long long *token); int SetTokenid(unsigned long long *token); +int GetfTokenid(unsigned long long *ftoken); +int SetfTokenid(unsigned long long *ftoken); void SetUidAndGrp(); void SetUidAndGrpOther(); @@ -64,6 +74,18 @@ void ThreadTest(unsigned long long *data_token); int AccessTokenidThreadTest(uint8_t *data_token); int AccessTokenidGrpTest(uint8_t *data_token); int AccessTokenidGrpTestOther(uint8_t *data_token); + +void GetCurfToken(unsigned long long *ftoken); +void SetRandfTokenAndCheck(unsigned long long *data_ftoken); +void fTokenTest(unsigned long long *data_ftoken); +void ThreadTest(unsigned long long *data_ftoken); +int AccessfTokenidThreadTest(uint8_t *data_ftoken); +int AccessfTokenidGrpTest(uint8_t *data_ftoken); +int AccessfTokenidGrpTestOther(uint8_t *data_ftoken); +bool SetfTokenidCmdFuzzTest(const uint8_t *data, size_t size); +bool GetfTokenidCmdFuzzTest(const uint8_t *data, size_t size); +bool SetTokenidCmdFuzzTest(const uint8_t *data, size_t size); +bool GetTokenidCmdFuzzTest(const uint8_t *data, size_t size); } // namespace AccessToken } // namespace Kernel } // namespace OHOS diff --git a/test/fuzztest/accesstokenid/setftokenidcmdcorrect_fuzzer/BUILD.gn b/test/fuzztest/accesstokenid/setftokenidcmdcorrect_fuzzer/BUILD.gn index bdabf6f..bf9b79c 100644 --- a/test/fuzztest/accesstokenid/setftokenidcmdcorrect_fuzzer/BUILD.gn +++ b/test/fuzztest/accesstokenid/setftokenidcmdcorrect_fuzzer/BUILD.gn @@ -30,7 +30,7 @@ ohos_fuzztest("SetfTokenidCmdCorrectFuzzTest") { ] sources = [ - "../src/accessftokenidcommon.cpp", + "../src/accesstokenidcommon.cpp", "setftokenidcmdcorrect_fuzzer.cpp", ] } diff --git a/test/fuzztest/accesstokenid/setftokenidcmdcorrect_fuzzer/setftokenidcmdcorrect_fuzzer.cpp b/test/fuzztest/accesstokenid/setftokenidcmdcorrect_fuzzer/setftokenidcmdcorrect_fuzzer.cpp index 595cabd..35b1d10 100644 --- a/test/fuzztest/accesstokenid/setftokenidcmdcorrect_fuzzer/setftokenidcmdcorrect_fuzzer.cpp +++ b/test/fuzztest/accesstokenid/setftokenidcmdcorrect_fuzzer/setftokenidcmdcorrect_fuzzer.cpp @@ -17,20 +17,14 @@ #include #include #include "__config" -#include "accessftokenidcommon.h" +#include "accesstokenidcommon.h" using namespace std; using namespace OHOS::Kernel::AccessToken; namespace OHOS { bool SetfTokenidCmdCorrectFuzzTest(const uint8_t *data, size_t size) { - bool ret = false; - if ((data == nullptr) || (size < sizeof(unsigned long long))) { - return ret; - } else { - unsigned long long tokenId = *(reinterpret_cast(data)); - ret = SetfTokenid(&tokenId); - } + bool ret = SetfTokenidCmdFuzzTest(data, size); return ret; } } diff --git a/test/fuzztest/accesstokenid/setftokenidcmdcorrect_fuzzer/setftokenidcmdcorrect_fuzzer.h b/test/fuzztest/accesstokenid/setftokenidcmdcorrect_fuzzer/setftokenidcmdcorrect_fuzzer.h deleted file mode 100644 index 0b440c2..0000000 --- a/test/fuzztest/accesstokenid/setftokenidcmdcorrect_fuzzer/setftokenidcmdcorrect_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef TEST_FUZZTEST_SETFTOKENIDCMDCORRECT_FUZZER_H -#define TEST_FUZZTEST_SETFTOKENIDCMDCORRECT_FUZZER_H - -#define FUZZ_PROJECT_NAME "setftokenidcmdcorrect_fuzzer" - -#endif // TEST_FUZZTEST_SETFTOKENIDCMDCORRECT_FUZZER_H diff --git a/test/fuzztest/accesstokenid/setftokenidcmderror_fuzzer/BUILD.gn b/test/fuzztest/accesstokenid/setftokenidcmderror_fuzzer/BUILD.gn index 00fb0ff..3a642c1 100644 --- a/test/fuzztest/accesstokenid/setftokenidcmderror_fuzzer/BUILD.gn +++ b/test/fuzztest/accesstokenid/setftokenidcmderror_fuzzer/BUILD.gn @@ -30,7 +30,7 @@ ohos_fuzztest("SetfTokenidCmdErrorFuzzTest") { ] sources = [ - "../src/accessftokenidcommon.cpp", + "../src/accesstokenidcommon.cpp", "setftokenidcmderror_fuzzer.cpp", ] } diff --git a/test/fuzztest/accesstokenid/setftokenidcmderror_fuzzer/setftokenidcmderror_fuzzer.cpp b/test/fuzztest/accesstokenid/setftokenidcmderror_fuzzer/setftokenidcmderror_fuzzer.cpp index d3b9184..7edb5fd 100644 --- a/test/fuzztest/accesstokenid/setftokenidcmderror_fuzzer/setftokenidcmderror_fuzzer.cpp +++ b/test/fuzztest/accesstokenid/setftokenidcmderror_fuzzer/setftokenidcmderror_fuzzer.cpp @@ -18,20 +18,14 @@ #include #include "__config" #define CMDERROR -#include "accessftokenidcommon.h" +#include "accesstokenidcommon.h" using namespace std; using namespace OHOS::Kernel::AccessToken; namespace OHOS { bool SetfTokenidCmdErrorFuzzTest(const uint8_t *data, size_t size) { - bool ret = false; - if ((data == nullptr) || (size < sizeof(unsigned long long))) { - return ret; - } else { - unsigned long long tokenId = *(reinterpret_cast(data)); - ret = SetfTokenid(&tokenId); - } + bool ret = SetfTokenidCmdFuzzTest(data, size); return ret; } } diff --git a/test/fuzztest/accesstokenid/setftokenidcmderror_fuzzer/setftokenidcmderror_fuzzer.h b/test/fuzztest/accesstokenid/setftokenidcmderror_fuzzer/setftokenidcmderror_fuzzer.h deleted file mode 100644 index 3ab67c5..0000000 --- a/test/fuzztest/accesstokenid/setftokenidcmderror_fuzzer/setftokenidcmderror_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef TEST_FUZZTEST_SETFTOKENIDCMDERROR_FUZZER_H -#define TEST_FUZZTEST_SETFTOKENIDCMDERROR_FUZZER_H - -#define FUZZ_PROJECT_NAME "setftokenidcmderror_fuzzer" - -#endif // TEST_FUZZTEST_SETFTOKENIDCMDERROR_FUZZER_H diff --git a/test/fuzztest/accesstokenid/setftokenidnullptr_fuzzer/BUILD.gn b/test/fuzztest/accesstokenid/setftokenidnullptr_fuzzer/BUILD.gn index 0847e82..6d4ebbc 100644 --- a/test/fuzztest/accesstokenid/setftokenidnullptr_fuzzer/BUILD.gn +++ b/test/fuzztest/accesstokenid/setftokenidnullptr_fuzzer/BUILD.gn @@ -30,7 +30,7 @@ ohos_fuzztest("SetfTokenidNullptrFuzzTest") { ] sources = [ - "../src/accessftokenidcommon.cpp", + "../src/accesstokenidcommon.cpp", "setftokenidnullptr_fuzzer.cpp", ] } diff --git a/test/fuzztest/accesstokenid/setftokenidnullptr_fuzzer/setftokenidnullptr_fuzzer.cpp b/test/fuzztest/accesstokenid/setftokenidnullptr_fuzzer/setftokenidnullptr_fuzzer.cpp index f79706f..93692e8 100644 --- a/test/fuzztest/accesstokenid/setftokenidnullptr_fuzzer/setftokenidnullptr_fuzzer.cpp +++ b/test/fuzztest/accesstokenid/setftokenidnullptr_fuzzer/setftokenidnullptr_fuzzer.cpp @@ -16,7 +16,7 @@ */ #include -#include "accessftokenidcommon.h" +#include "accesstokenidcommon.h" using namespace std; using namespace OHOS::Kernel::AccessToken; diff --git a/test/fuzztest/accesstokenid/settokenidcmdcorrect_fuzzer/settokenidcmdcorrect_fuzzer.cpp b/test/fuzztest/accesstokenid/settokenidcmdcorrect_fuzzer/settokenidcmdcorrect_fuzzer.cpp index 0bd4263..212190c 100644 --- a/test/fuzztest/accesstokenid/settokenidcmdcorrect_fuzzer/settokenidcmdcorrect_fuzzer.cpp +++ b/test/fuzztest/accesstokenid/settokenidcmdcorrect_fuzzer/settokenidcmdcorrect_fuzzer.cpp @@ -26,13 +26,7 @@ using namespace OHOS::Kernel::AccessToken; namespace OHOS { bool SetTokenidCmdCorrectFuzzTest(const uint8_t *data, size_t size) { - bool ret = false; - if ((data == nullptr) || (size < sizeof(unsigned long long))) { - return ret; - } else { - unsigned long long tokenId = *(reinterpret_cast(data)); - ret = SetTokenid(&tokenId); - } + bool ret = SetTokenidCmdFuzzTest(data, size); return ret; } } diff --git a/test/fuzztest/accesstokenid/settokenidcmdcorrect_fuzzer/settokenidcmdcorrect_fuzzer.h b/test/fuzztest/accesstokenid/settokenidcmdcorrect_fuzzer/settokenidcmdcorrect_fuzzer.h deleted file mode 100644 index 4cc82ca..0000000 --- a/test/fuzztest/accesstokenid/settokenidcmdcorrect_fuzzer/settokenidcmdcorrect_fuzzer.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef TEST_FUZZTEST_SETTOKENIDCMDCORRECT_FUZZER_H -#define TEST_FUZZTEST_SETTOKENIDCMDCORRECT_FUZZER_H - -#define FUZZ_PROJECT_NAME "settokenidcmdcorrect_fuzzer" - -#endif // TEST_FUZZTEST_SETTOKENIDCMDCORRECT_FUZZER_H diff --git a/test/fuzztest/accesstokenid/settokenidcmderror_fuzzer/settokenidcmderror_fuzzer.cpp b/test/fuzztest/accesstokenid/settokenidcmderror_fuzzer/settokenidcmderror_fuzzer.cpp index 37851e0..cff1a00 100644 --- a/test/fuzztest/accesstokenid/settokenidcmderror_fuzzer/settokenidcmderror_fuzzer.cpp +++ b/test/fuzztest/accesstokenid/settokenidcmderror_fuzzer/settokenidcmderror_fuzzer.cpp @@ -22,13 +22,7 @@ using namespace OHOS::Kernel::AccessToken; namespace OHOS { bool SetTokenidCmdErrorFuzzTest(const uint8_t *data, size_t size) { - bool ret = false; - if ((data == nullptr) || (size < sizeof(unsigned long long))) { - return ret; - } else { - unsigned long long tokenId = *(reinterpret_cast(data)); - ret = SetTokenid(&tokenId); - } + bool ret = SetTokenidCmdFuzzTest(data, size); return ret; } } diff --git a/test/fuzztest/accesstokenid/src/accessftokenidcommon.cpp b/test/fuzztest/accesstokenid/src/accessftokenidcommon.cpp deleted file mode 100644 index 7f6b538..0000000 --- a/test/fuzztest/accesstokenid/src/accessftokenidcommon.cpp +++ /dev/null @@ -1,192 +0,0 @@ -/* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include -#include -#include -#include "accessftokenidcommon.h" - -namespace OHOS { -namespace Kernel { -namespace AccessToken { -const char *DEVACCESSTOKENID = "/dev/access_token_id"; - -int GetfTokenid(unsigned long long *ftoken) -{ - int fd = open(DEVACCESSTOKENID, O_RDWR); - if (fd < 0) { - return -1; - } - - int ret = ioctl(fd, ACCESS_TOKENID_GET_FTOKENID, ftoken); - if (ret) { - close(fd); - return -1; - } - - close(fd); - return 0; -} - -int SetfTokenid(unsigned long long *ftoken) -{ - int fd = open(DEVACCESSTOKENID, O_RDWR); - if (fd < 0) { - return -1; - } - - int ret = ioctl(fd, ACCESS_TOKENID_SET_FTOKENID, ftoken); - if (ret) { - close(fd); - return -1; - } - - close(fd); - return 0; -} - -void SetUidAndGrp() -{ - int ret = 0; - size_t groupListSize = LIST_NUM_2; - gid_t groupList[LIST_NUM_2] = {ACCESS_TOKEN_GRPID, TEST_VALUE}; - - ret = setgroups(groupListSize, groupList); - if (ret != 0) { - return; - } - - ret = setuid(ACCESS_TOKEN_UID); - if (ret != 0) { - printf("SetUidAndGrp setuid error %d \n", ret); - } - - return; -} - -void SetUidAndGrpOther() -{ - int ret = 0; - size_t groupListSize = LIST_NUM_1; - gid_t groupList[LIST_NUM_1] = {ACCESS_TOKEN_OTHER_GRPID}; - - ret = setgroups(groupListSize, groupList); - if (ret != 0) { - return; - } - - ret = setuid(ACCESS_TOKEN_OTHER_UID); - if (ret != 0) { - printf("SetUidAndGrp setuid error %d \r\n", ret); - } - - return; -} - -void SetRandfTokenAndCheck(unsigned long long *data_ftoken) -{ - pid_t pid = getpid(); - pid_t tid = syscall(__NR_gettid); - unsigned long long ftoken = INVAL_TOKEN; - unsigned long long ftokenSet = *data_ftoken; - - SetfTokenid(&ftokenSet); - GetfTokenid(&ftoken); - - if (ftoken != ftokenSet) { - printf("pid:%d tid:%d ftoken test failed, ftoken:%llu ftokenSet:%llu\n", - pid, tid, ftoken, ftokenSet); - } else { - printf("pid:%d tid:%d ftoken test succeed, ftoken:%llu ftokenSet:%llu\n", - pid, tid, ftoken, ftokenSet); - } - - sleep(WAIT_FOR_SHELL_OP_TIME); - - GetfTokenid(&ftoken); - if (ftoken != ftokenSet) { - printf("pid:%d tid:%d ftoken test failed, ftoken:%llu ftokenSet:%llu\n", - pid, tid, ftoken, ftokenSet); - } else { - printf("pid:%d tid:%d ftoken test succeed, ftoken:%llu ftokenSet:%llu\n", - pid, tid, ftoken, ftokenSet); - } - return; -} - -void *fTokenTest(void *data_ftoken) -{ - SetRandfTokenAndCheck(static_cast(data_ftoken)); - return nullptr; -} - -void ThreadTest(void *data_ftoken) -{ - pthread_t id_1; - pthread_t id_2; - pthread_t id_3; - int ret = 0; - - ret = pthread_create(&id_1, nullptr, fTokenTest, data_ftoken); - if (ret != 0) { - return; - } - - ret = pthread_create(&id_2, nullptr, fTokenTest, data_ftoken); - if (ret != 0) { - return; - } - - ret = pthread_create(&id_3, nullptr, fTokenTest, data_ftoken); - if (ret != 0) { - return; - } - - pthread_join(id_1, nullptr); - pthread_join(id_2, nullptr); - pthread_join(id_3, nullptr); - - return; -} - -int AccessfTokenidThreadTest(uint8_t *data_ftoken) -{ - fTokenTest(static_cast(data_ftoken)); - ThreadTest(static_cast(data_ftoken)); - return 0; -} - -int AccessfTokenidGrpTest(uint8_t *data_ftoken) -{ - SetUidAndGrp(); - fTokenTest(static_cast(data_ftoken)); - ThreadTest(static_cast(data_ftoken)); - return 0; -} - -int AccessfTokenidGrpTestOther(uint8_t *data_ftoken) -{ - SetUidAndGrpOther(); - fTokenTest(static_cast(data_ftoken)); - ThreadTest(static_cast(data_ftoken)); - return 0; -} -} // namespace AccessToken -} // namespace Kernel -} // namespace OHOS diff --git a/test/fuzztest/accesstokenid/src/accesstokenidcommon.cpp b/test/fuzztest/accesstokenid/src/accesstokenidcommon.cpp index 69d3471..18a28cd 100644 --- a/test/fuzztest/accesstokenid/src/accesstokenidcommon.cpp +++ b/test/fuzztest/accesstokenid/src/accesstokenidcommon.cpp @@ -184,6 +184,148 @@ int AccessTokenidGrpTestOther(uint8_t *data_token) ThreadTest(static_cast(data_token)); return 0; } + +int GetfTokenid(unsigned long long *ftoken) +{ + int fd = open(DEVACCESSTOKENID, O_RDWR); + if (fd < 0) { + return -1; + } + + int ret = ioctl(fd, ACCESS_TOKENID_GET_FTOKENID, ftoken); + if (ret) { + close(fd); + return -1; + } + + close(fd); + return 0; +} + +int SetfTokenid(unsigned long long *ftoken) +{ + int fd = open(DEVACCESSTOKENID, O_RDWR); + if (fd < 0) { + return -1; + } + + int ret = ioctl(fd, ACCESS_TOKENID_SET_FTOKENID, ftoken); + if (ret) { + close(fd); + return -1; + } + + close(fd); + return 0; +} + +void SetRandfTokenAndCheck(unsigned long long *data_ftoken) +{ + pid_t pid = getpid(); + pid_t tid = syscall(__NR_gettid); + unsigned long long ftoken = INVAL_TOKEN; + unsigned long long ftokenSet = *data_ftoken; + + SetfTokenid(&ftokenSet); + GetfTokenid(&ftoken); + + if (ftoken != ftokenSet) { + printf("pid:%d tid:%d ftoken test failed, ftoken:%llu ftokenSet:%llu\n", + pid, tid, ftoken, ftokenSet); + } else { + printf("pid:%d tid:%d ftoken test succeed, ftoken:%llu ftokenSet:%llu\n", + pid, tid, ftoken, ftokenSet); + } + + sleep(WAIT_FOR_SHELL_OP_TIME); + + GetfTokenid(&ftoken); + if (ftoken != ftokenSet) { + printf("pid:%d tid:%d ftoken test failed, ftoken:%llu ftokenSet:%llu\n", + pid, tid, ftoken, ftokenSet); + } else { + printf("pid:%d tid:%d ftoken test succeed, ftoken:%llu ftokenSet:%llu\n", + pid, tid, ftoken, ftokenSet); + } + return; +} + +void *fTokenTest(void *data_ftoken) +{ + SetRandfTokenAndCheck(static_cast(data_ftoken)); + return nullptr; +} + +int AccessfTokenidThreadTest(uint8_t *data_ftoken) +{ + fTokenTest(static_cast(data_ftoken)); + ThreadTest(static_cast(data_ftoken)); + return 0; +} + +int AccessfTokenidGrpTest(uint8_t *data_ftoken) +{ + SetUidAndGrp(); + fTokenTest(static_cast(data_ftoken)); + ThreadTest(static_cast(data_ftoken)); + return 0; +} + +int AccessfTokenidGrpTestOther(uint8_t *data_ftoken) +{ + SetUidAndGrpOther(); + fTokenTest(static_cast(data_ftoken)); + ThreadTest(static_cast(data_ftoken)); + return 0; +} + +bool SetfTokenidCmdFuzzTest(const uint8_t *data, size_t size) +{ + bool ret = false; + if ((data == nullptr) || (size < sizeof(unsigned long long))) { + return ret; + } else { + unsigned long long tokenId = *(reinterpret_cast(data)); + ret = SetfTokenid(&tokenId); + } + return ret; +} + +bool GetfTokenidCmdFuzzTest(const uint8_t *data, size_t size) +{ + bool ret = false; + if ((data == nullptr) || (size < sizeof(unsigned long long))) { + return ret; + } else { + unsigned long long tokenId = *(reinterpret_cast(data)); + ret = GetfTokenid(&tokenId); + } + return ret; +} + +bool GetTokenidCmdFuzzTest(const uint8_t *data, size_t size) +{ + bool ret = false; + if ((data == nullptr) || (size < sizeof(unsigned long long))) { + return ret; + } else { + unsigned long long tokenId = *(reinterpret_cast(data)); + ret = GetTokenid(&tokenId); + } + return ret; +} + +bool SetTokenidCmdFuzzTest(const uint8_t *data, size_t size) +{ + bool ret = false; + if ((data == nullptr) || (size < sizeof(unsigned long long))) { + return ret; + } else { + unsigned long long tokenId = *(reinterpret_cast(data)); + ret = SetTokenid(&tokenId); + } + return ret; +} } // namespace AccessToken } // namespace Kernel } // namespace OHOS diff --git a/test/fuzztest/hc_node/hcenable_fuzzer/BUILD.gn b/test/fuzztest/hc_node/hcenable_fuzzer/BUILD.gn index d2edc28..72c4ca4 100644 --- a/test/fuzztest/hc_node/hcenable_fuzzer/BUILD.gn +++ b/test/fuzztest/hc_node/hcenable_fuzzer/BUILD.gn @@ -19,7 +19,9 @@ module_output_path = "linuxkerneltest/hc_node" ohos_fuzztest("HcEnableFuzzTest") { module_out_path = module_output_path fuzz_config_file = - "//kernel/linux/build/test/fuzztest/hc_node/hcenable_fuzzer" + "//kernel/linux/build/test/fuzztest/hc_node/hcenable_fuzzer" + + include_dirs = [ "../include" ] cflags = [ "-g", @@ -27,7 +29,10 @@ ohos_fuzztest("HcEnableFuzzTest") { "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "hcenable_fuzzer.cpp" ] + sources = [ + "hcenable_fuzzer.cpp", + "../src/hccommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/hc_node/hcenable_fuzzer/hcenable_fuzzer.cpp b/test/fuzztest/hc_node/hcenable_fuzzer/hcenable_fuzzer.cpp index 93eac67..2eb3d64 100644 --- a/test/fuzztest/hc_node/hcenable_fuzzer/hcenable_fuzzer.cpp +++ b/test/fuzztest/hc_node/hcenable_fuzzer/hcenable_fuzzer.cpp @@ -19,41 +19,15 @@ #include #include #include +#include "hccommon.h" const char *HC_ENABLE = "/sys/fs/f2fs/loop1/hc_enable"; namespace OHOS { bool HcEnableFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - uint32_t length = size > sizeof(uint32_t) ? sizeof(uint32_t) : size; - int ret = access("/mnt/f2fs_mount/", F_OK); - if (ret < 0) { - system("mkdir -p /mnt/f2fs_mount/"); - system("mkfs.f2fs -d1 -t1 -O quota /data/image_f2fs"); - system("losetup /dev/block/loop1 /data/image_f2fs"); - system("mount -t f2fs /dev/block/loop1 /mnt/f2fs_mount/"); - } - - int fd = open(HC_ENABLE, O_RDWR); - if (fd < 0) { - return false; - } - - ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", HC_ENABLE); - close(fd); - return false; - } - - ret = write(fd, data, length); - if (ret < 0) { - close(fd); - return false; - } - close(fd); - return true; + bool ret = HcFuzzTest(data, HC_ENABLE, size); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/hc_node/hchotdatalowerlimit_fuzzer/BUILD.gn b/test/fuzztest/hc_node/hchotdatalowerlimit_fuzzer/BUILD.gn index dc889e8..ff4f247 100644 --- a/test/fuzztest/hc_node/hchotdatalowerlimit_fuzzer/BUILD.gn +++ b/test/fuzztest/hc_node/hchotdatalowerlimit_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("HcHotDataLowerLimitFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/hc_node/hchotdatalowerlimit_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "hchotdatalowerlimit_fuzzer.cpp" ] + sources = [ + "hchotdatalowerlimit_fuzzer.cpp", + "../src/hccommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/hc_node/hchotdatalowerlimit_fuzzer/hchotdatalowerlimit_fuzzer.cpp b/test/fuzztest/hc_node/hchotdatalowerlimit_fuzzer/hchotdatalowerlimit_fuzzer.cpp index 5918d1e..a1beab2 100644 --- a/test/fuzztest/hc_node/hchotdatalowerlimit_fuzzer/hchotdatalowerlimit_fuzzer.cpp +++ b/test/fuzztest/hc_node/hchotdatalowerlimit_fuzzer/hchotdatalowerlimit_fuzzer.cpp @@ -19,41 +19,15 @@ #include #include #include +#include "hccommon.h" const char *HC_HOT_DATA_LOWER_LIMIT = "/sys/fs/f2fs/loop1/hc_hot_data_lower_limit"; namespace OHOS { bool HcHotDataLowerLimitFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - uint32_t length = size > sizeof(uint32_t) ? sizeof(uint32_t) : size; - int ret = access("/mnt/f2fs_mount/", F_OK); - if (ret < 0) { - system("mkdir -p /mnt/f2fs_mount/"); - system("mkfs.f2fs -d1 -t1 -O quota /data/image_f2fs"); - system("losetup /dev/block/loop1 /data/image_f2fs"); - system("mount -t f2fs /dev/block/loop1 /mnt/f2fs_mount/"); - } - - int fd = open(HC_HOT_DATA_LOWER_LIMIT, O_RDWR); - if (fd < 0) { - return false; - } - - ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", HC_HOT_DATA_LOWER_LIMIT); - close(fd); - return false; - } - - ret = write(fd, data, length); - if (ret < 0) { - close(fd); - return false; - } - close(fd); - return true; + bool ret = HcFuzzTest(data, HC_HOT_DATA_LOWER_LIMIT, size); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/hc_node/hchotdatawaterline_fuzzer/BUILD.gn b/test/fuzztest/hc_node/hchotdatawaterline_fuzzer/BUILD.gn index ba64e31..9184a70 100644 --- a/test/fuzztest/hc_node/hchotdatawaterline_fuzzer/BUILD.gn +++ b/test/fuzztest/hc_node/hchotdatawaterline_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("HcHotDataWaterlineFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/hc_node/hchotdatawaterline_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "hchotdatawaterline_fuzzer.cpp" ] + sources = [ + "hchotdatawaterline_fuzzer.cpp", + "../src/hccommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/hc_node/hchotdatawaterline_fuzzer/hchotdatawaterline_fuzzer.cpp b/test/fuzztest/hc_node/hchotdatawaterline_fuzzer/hchotdatawaterline_fuzzer.cpp index e037e72..88cbc08 100644 --- a/test/fuzztest/hc_node/hchotdatawaterline_fuzzer/hchotdatawaterline_fuzzer.cpp +++ b/test/fuzztest/hc_node/hchotdatawaterline_fuzzer/hchotdatawaterline_fuzzer.cpp @@ -19,41 +19,15 @@ #include #include #include +#include "hccommon.h" const char *HC_HOT_DATA_WATERLINE = "/sys/fs/f2fs/loop1/hc_hot_data_waterline"; namespace OHOS { bool HcHotDataWaterlineFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - uint32_t length = size > sizeof(uint32_t) ? sizeof(uint32_t) : size; - int ret = access("/mnt/f2fs_mount/", F_OK); - if (ret < 0) { - system("mkdir -p /mnt/f2fs_mount/"); - system("mkfs.f2fs -d1 -t1 -O quota /data/image_f2fs"); - system("losetup /dev/block/loop1 /data/image_f2fs"); - system("mount -t f2fs /dev/block/loop1 /mnt/f2fs_mount/"); - } - - int fd = open(HC_HOT_DATA_WATERLINE, O_RDWR); - if (fd < 0) { - return false; - } - - ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", HC_HOT_DATA_WATERLINE); - close(fd); - return false; - } - - ret = write(fd, data, length); - if (ret < 0) { - close(fd); - return false; - } - close(fd); - return true; + bool ret = HcFuzzTest(data, HC_HOT_DATA_WATERLINE, size); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/hc_node/hchotnodelowerlimit_fuzzer/BUILD.gn b/test/fuzztest/hc_node/hchotnodelowerlimit_fuzzer/BUILD.gn index 2ff4a14..bfd1350 100644 --- a/test/fuzztest/hc_node/hchotnodelowerlimit_fuzzer/BUILD.gn +++ b/test/fuzztest/hc_node/hchotnodelowerlimit_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("HcHotNodeLowerLimitFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/hc_node/hchotnodelowerlimit_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "hchotnodelowerlimit_fuzzer.cpp" ] + sources = [ + "hchotnodelowerlimit_fuzzer.cpp", + "../src/hccommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/hc_node/hchotnodelowerlimit_fuzzer/hchotnodelowerlimit_fuzzer.cpp b/test/fuzztest/hc_node/hchotnodelowerlimit_fuzzer/hchotnodelowerlimit_fuzzer.cpp index 8f5b0bf..d8cb261 100644 --- a/test/fuzztest/hc_node/hchotnodelowerlimit_fuzzer/hchotnodelowerlimit_fuzzer.cpp +++ b/test/fuzztest/hc_node/hchotnodelowerlimit_fuzzer/hchotnodelowerlimit_fuzzer.cpp @@ -19,41 +19,15 @@ #include #include #include +#include "hccommon.h" const char *HC_HOT_NODE_LOWER_LIMIT = "/sys/fs/f2fs/loop1/hc_hot_node_lower_limit"; namespace OHOS { bool HcHotNodeLowerLimitFuzzTest(const uint8_t *data, size_t size) { - uint32_t value = 0; - uint32_t length = size > sizeof(uint32_t) ? sizeof(uint32_t) : size; - int ret = access("/mnt/f2fs_mount/", F_OK); - if (ret < 0) { - system("mkdir -p /mnt/f2fs_mount/"); - system("mkfs.f2fs -d1 -t1 -O quota /data/image_f2fs"); - system("losetup /dev/block/loop1 /data/image_f2fs"); - system("mount -t f2fs /dev/block/loop1 /mnt/f2fs_mount/"); - } - - int fd = open(HC_HOT_NODE_LOWER_LIMIT, O_RDWR); - if (fd < 0) { - return false; - } - - ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", HC_HOT_NODE_LOWER_LIMIT); - close(fd); - return false; - } - - ret = write(fd, data, length); - if (ret < 0) { - close(fd); - return false; - } - close(fd); - return true; + bool ret = HcFuzzTest(data, HC_HOT_NODE_LOWER_LIMIT, size); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/hc_node/hchotnodewaterline_fuzzer/BUILD.gn b/test/fuzztest/hc_node/hchotnodewaterline_fuzzer/BUILD.gn index f313858..f7cf5c6 100644 --- a/test/fuzztest/hc_node/hchotnodewaterline_fuzzer/BUILD.gn +++ b/test/fuzztest/hc_node/hchotnodewaterline_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("HcHotNodeWaterLineFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/hc_node/hchotnodewaterline_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "hchotnodewaterline_fuzzer.cpp" ] + sources = [ + "hchotnodewaterline_fuzzer.cpp", + "../src/hccommon.cpp", + ] } group("fuzztest") { testonly = true diff --git a/test/fuzztest/hc_node/hchotnodewaterline_fuzzer/hchotnodewaterline_fuzzer.cpp b/test/fuzztest/hc_node/hchotnodewaterline_fuzzer/hchotnodewaterline_fuzzer.cpp index 2910e8b..818a097 100644 --- a/test/fuzztest/hc_node/hchotnodewaterline_fuzzer/hchotnodewaterline_fuzzer.cpp +++ b/test/fuzztest/hc_node/hchotnodewaterline_fuzzer/hchotnodewaterline_fuzzer.cpp @@ -19,41 +19,15 @@ #include #include #include +#include "hccommon.h" const char *HC_HOT_NODE_WATERLINE = "/sys/fs/f2fs/loop1/hc_hot_node_waterline"; namespace OHOS { bool HcHotNodeWaterlineFuzzTest(const uint8_t *data, size_t size) { - uint32_t value = 0; - uint32_t length = size > sizeof(uint32_t) ? sizeof(uint32_t) : size; - int ret = access("/mnt/f2fs_mount/", F_OK); - if (ret < 0) { - system("mkdir -p /mnt/f2fs_mount/"); - system("mkfs.f2fs -d1 -t1 -O quota /data/image_f2fs"); - system("losetup /dev/block/loop1 /data/image_f2fs"); - system("mount -t f2fs /dev/block/loop1 /mnt/f2fs_mount/"); - } - - int fd = open(HC_HOT_NODE_WATERLINE, O_RDWR); - if (fd < 0) { - return false; - } - - ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", HC_HOT_NODE_WATERLINE); - close(fd); - return false; - } - - ret = write(fd, data, length); - if (ret < 0) { - close(fd); - return false; - } - close(fd); - return true; + bool ret = HcFuzzTest(data, HC_HOT_NODE_WATERLINE, size); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/hc_node/hcwarmdatalowerlimit_fuzzer/BUILD.gn b/test/fuzztest/hc_node/hcwarmdatalowerlimit_fuzzer/BUILD.gn index 2a1f7fe..9c3eef9 100644 --- a/test/fuzztest/hc_node/hcwarmdatalowerlimit_fuzzer/BUILD.gn +++ b/test/fuzztest/hc_node/hcwarmdatalowerlimit_fuzzer/BUILD.gn @@ -20,13 +20,18 @@ ohos_fuzztest("HcWarmDataLowerLimitFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/hc_node/hcwarmdatalowerlimit_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "hcwarmdatalowerlimit_fuzzer.cpp" ] + sources = [ + "hcwarmdatalowerlimit_fuzzer.cpp", + "../src/hccommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/hc_node/hcwarmdatalowerlimit_fuzzer/hcwarmdatalowerlimit_fuzzer.cpp b/test/fuzztest/hc_node/hcwarmdatalowerlimit_fuzzer/hcwarmdatalowerlimit_fuzzer.cpp index 849fefa..83005f9 100644 --- a/test/fuzztest/hc_node/hcwarmdatalowerlimit_fuzzer/hcwarmdatalowerlimit_fuzzer.cpp +++ b/test/fuzztest/hc_node/hcwarmdatalowerlimit_fuzzer/hcwarmdatalowerlimit_fuzzer.cpp @@ -19,41 +19,15 @@ #include #include #include +#include "hccommon.h" const char *HC_WARM_DATA_LOWER_LIMIT = "/sys/fs/f2fs/loop1/hc_warm_data_lower_limit"; namespace OHOS { bool HcWarmDataLowerLimitFuzzTest(const uint8_t *data, size_t size) { - uint32_t value = 0; - uint32_t length = size > sizeof(uint32_t) ? sizeof(uint32_t) : size; - int ret = access("/mnt/f2fs_mount/", F_OK); - if (ret < 0) { - system("mkdir -p /mnt/f2fs_mount/"); - system("mkfs.f2fs -d1 -t1 -O quota /data/image_f2fs"); - system("losetup /dev/block/loop1 /data/image_f2fs"); - system("mount -t f2fs /dev/block/loop1 /mnt/f2fs_mount/"); - } - - int fd = open(HC_WARM_DATA_LOWER_LIMIT, O_RDWR); - if (fd < 0) { - return false; - } - - ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", HC_WARM_DATA_LOWER_LIMIT); - close(fd); - return false; - } - - ret = write(fd, data, length); - if (ret < 0) { - close(fd); - return false; - } - close(fd); - return true; + bool ret = HcFuzzTest(data, HC_WARM_DATA_LOWER_LIMIT, size); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/hc_node/hcwarmdatawaterline_fuzzer/BUILD.gn b/test/fuzztest/hc_node/hcwarmdatawaterline_fuzzer/BUILD.gn index 76517cb..20c072b 100644 --- a/test/fuzztest/hc_node/hcwarmdatawaterline_fuzzer/BUILD.gn +++ b/test/fuzztest/hc_node/hcwarmdatawaterline_fuzzer/BUILD.gn @@ -20,13 +20,18 @@ ohos_fuzztest("HcWarmDataWaterLineFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/hc_node/hcwarmdatawaterline_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "hcwarmdatawaterline_fuzzer.cpp" ] + sources = [ + "hcwarmdatawaterline_fuzzer.cpp", + "../src/hccommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/hc_node/hcwarmdatawaterline_fuzzer/hcwarmdatawaterline_fuzzer.cpp b/test/fuzztest/hc_node/hcwarmdatawaterline_fuzzer/hcwarmdatawaterline_fuzzer.cpp index 02eedd3..2c3203b 100644 --- a/test/fuzztest/hc_node/hcwarmdatawaterline_fuzzer/hcwarmdatawaterline_fuzzer.cpp +++ b/test/fuzztest/hc_node/hcwarmdatawaterline_fuzzer/hcwarmdatawaterline_fuzzer.cpp @@ -19,41 +19,15 @@ #include #include #include +#include "hccommon.h" const char *HC_WARM_DATA_WATERLINE = "/sys/fs/f2fs/loop1/hc_warm_data_waterline"; namespace OHOS { bool HcWarmDataWaterLineFuzzTest(const uint8_t *data, size_t size) { - uint32_t value = 0; - uint32_t length = size > sizeof(uint32_t) ? sizeof(uint32_t) : size; - int ret = access("/mnt/f2fs_mount/", F_OK); - if (ret < 0) { - system("mkdir -p /mnt/f2fs_mount/"); - system("mkfs.f2fs -d1 -t1 -O quota /data/image_f2fs"); - system("losetup /dev/block/loop1 /data/image_f2fs"); - system("mount -t f2fs /dev/block/loop1 /mnt/f2fs_mount/"); - } - - int fd = open(HC_WARM_DATA_WATERLINE, O_RDWR); - if (fd < 0) { - return false; - } - - ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", HC_WARM_DATA_WATERLINE); - close(fd); - return false; - } - - ret = write(fd, data, length); - if (ret < 0) { - close(fd); - return false; - } - close(fd); - return true; + bool ret = HcFuzzTest(data, HC_WARM_DATA_WATERLINE, size); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/hc_node/hcwarmnodelowerlimit_fuzzer/BUILD.gn b/test/fuzztest/hc_node/hcwarmnodelowerlimit_fuzzer/BUILD.gn index 11d6cbf..cd891c1 100644 --- a/test/fuzztest/hc_node/hcwarmnodelowerlimit_fuzzer/BUILD.gn +++ b/test/fuzztest/hc_node/hcwarmnodelowerlimit_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("HcWarmNodeLowerLimitFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/hc_node/hcwarmnodelowerlimit_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "hcwarmnodelowerlimit_fuzzer.cpp" ] + sources = [ + "hcwarmnodelowerlimit_fuzzer.cpp", + "../src/hccommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/hc_node/hcwarmnodelowerlimit_fuzzer/hcwarmnodelowerlimit_fuzzer.cpp b/test/fuzztest/hc_node/hcwarmnodelowerlimit_fuzzer/hcwarmnodelowerlimit_fuzzer.cpp index 075d978..a6e07f4 100644 --- a/test/fuzztest/hc_node/hcwarmnodelowerlimit_fuzzer/hcwarmnodelowerlimit_fuzzer.cpp +++ b/test/fuzztest/hc_node/hcwarmnodelowerlimit_fuzzer/hcwarmnodelowerlimit_fuzzer.cpp @@ -19,41 +19,15 @@ #include #include #include +#include "hccommon.h" const char *HC_WARM_NODE_LOWER_LIMIT = "/sys/fs/f2fs/loop1/hc_warm_node_lower_limit"; namespace OHOS { bool HcWarmNodeLowerLimit(const uint8_t *data, size_t size) { - uint32_t value = 0; - uint32_t length = size > sizeof(uint32_t) ? sizeof(uint32_t) : size; - int ret = access("/mnt/f2fs_mount/", F_OK); - if (ret < 0) { - system("mkdir -p /mnt/f2fs_mount/"); - system("mkfs.f2fs -d1 -t1 -O quota /data/image_f2fs"); - system("losetup /dev/block/loop1 /data/image_f2fs"); - system("mount -t f2fs /dev/block/loop1 /mnt/f2fs_mount/"); - } - - int fd = open(HC_WARM_NODE_LOWER_LIMIT, O_RDWR); - if (fd < 0) { - return false; - } - - ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", HC_WARM_NODE_LOWER_LIMIT); - close(fd); - return false; - } - - ret = write(fd, data, length); - if (ret < 0) { - close(fd); - return false; - } - close(fd); - return true; + bool ret = HcFuzzTest(data, HC_WARM_NODE_LOWER_LIMIT, size); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/hc_node/hcwarmnodewaterline_fuzzer/BUILD.gn b/test/fuzztest/hc_node/hcwarmnodewaterline_fuzzer/BUILD.gn index 82873d4..36d0a28 100644 --- a/test/fuzztest/hc_node/hcwarmnodewaterline_fuzzer/BUILD.gn +++ b/test/fuzztest/hc_node/hcwarmnodewaterline_fuzzer/BUILD.gn @@ -20,13 +20,18 @@ ohos_fuzztest("HcWarmNodeWaterLineFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/hc_node/hcwarmnodewaterline_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "hcwarmnodewaterline_fuzzer.cpp" ] + sources = [ + "hcwarmnodewaterline_fuzzer.cpp", + "../src/hccommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/hc_node/hcwarmnodewaterline_fuzzer/hcwarmnodewaterline_fuzzer.cpp b/test/fuzztest/hc_node/hcwarmnodewaterline_fuzzer/hcwarmnodewaterline_fuzzer.cpp index 4c19bc2..2c34974 100644 --- a/test/fuzztest/hc_node/hcwarmnodewaterline_fuzzer/hcwarmnodewaterline_fuzzer.cpp +++ b/test/fuzztest/hc_node/hcwarmnodewaterline_fuzzer/hcwarmnodewaterline_fuzzer.cpp @@ -14,47 +14,20 @@ */ #include -#include -#include -#include -#include #include #include +#include +#include +#include +#include "hccommon.h" const char *HC_WARM_NODE_WATERLINE = "/sys/fs/f2fs/loop1/hc_warm_node_waterline"; namespace OHOS { bool HcWarmNodeLowerWaterLine(const uint8_t *data, size_t size) { - uint32_t value = 0; - uint32_t length = size > sizeof(uint32_t) ? sizeof(uint32_t) : size; - int ret = access("/mnt/f2fs_mount/", F_OK); - if (ret < 0) { - system("mkdir -p /mnt/f2fs_mount/"); - system("mkfs.f2fs -d1 -t1 -O quota /data/image_f2fs"); - system("losetup /dev/block/loop1 /data/image_f2fs"); - system("mount -t f2fs /dev/block/loop1 /mnt/f2fs_mount/"); - } - - int fd = open(HC_WARM_NODE_WATERLINE, O_RDWR); - if (fd < 0) { - return false; - } - - ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", HC_WARM_NODE_WATERLINE); - close(fd); - return false; - } - - ret = write(fd, data, length); - if (ret < 0) { - close(fd); - return false; - } - close(fd); - return true; + bool ret = HcFuzzTest(data, HC_WARM_NODE_WATERLINE, size); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/accesstokenid/settokenidcmderror_fuzzer/settokenidcmderror_fuzzer.h b/test/fuzztest/hc_node/include/hccommon.h similarity index 74% rename from test/fuzztest/accesstokenid/settokenidcmderror_fuzzer/settokenidcmderror_fuzzer.h rename to test/fuzztest/hc_node/include/hccommon.h index 78627a8..feeff62 100644 --- a/test/fuzztest/accesstokenid/settokenidcmderror_fuzzer/settokenidcmderror_fuzzer.h +++ b/test/fuzztest/hc_node/include/hccommon.h @@ -13,9 +13,6 @@ * limitations under the License. */ -#ifndef TEST_FUZZTEST_SETTOKENIDCMDERROR_FUZZER_H -#define TEST_FUZZTEST_SETTOKENIDCMDERROR_FUZZER_H -#define FUZZ_PROJECT_NAME "settokenidcmderror_fuzzer" -#endif // TEST_FUZZTEST_SETTOKENIDCMDERROR_FUZZER_H +bool HcFuzzTest(const uint8_t *data, const char *pathname, size_t size); \ No newline at end of file diff --git a/test/fuzztest/accesstokenid/gettokenidcmdcorrect_fuzzer/gettokenidcmdcorrect_fuzzer.h b/test/fuzztest/hc_node/src/hccommon.cpp similarity index 39% rename from test/fuzztest/accesstokenid/gettokenidcmdcorrect_fuzzer/gettokenidcmdcorrect_fuzzer.h rename to test/fuzztest/hc_node/src/hccommon.cpp index 2ac8751..5d24596 100644 --- a/test/fuzztest/accesstokenid/gettokenidcmdcorrect_fuzzer/gettokenidcmdcorrect_fuzzer.h +++ b/test/fuzztest/hc_node/src/hccommon.cpp @@ -13,9 +13,42 @@ * limitations under the License. */ -#ifndef TEST_FUZZTEST_GETTOKENIDCMDCORRECT_FUZZER_H -#define TEST_FUZZTEST_GETTOKENIDCMDCORRECT_FUZZER_H +#include +#include +#include +#include +#include +#include +#include "hccommon.h" -#define FUZZ_PROJECT_NAME "gettokenidcmdcorrect_fuzzer" +bool HcFuzzTest(const uint8_t *data, const char *pathname, size_t size) +{ + uint32_t value = 0; + uint32_t length = size > sizeof(uint32_t) ? sizeof(uint32_t) : size; + int ret = access("/mnt/f2fs_mount/", F_OK); + if (ret < 0) { + system("mkdir -p /mnt/f2fs_mount/"); + system("mkfs.f2fs -d1 -t1 -O quota /data/image_f2fs"); + system("losetup /dev/block/loop1 /data/image_f2fs"); + system("mount -t f2fs /dev/block/loop1 /mnt/f2fs_mount/"); + } -#endif // TEST_FUZZTEST_GETTOKENIDCMDCORRECT_FUZZER_H + int fd = open(pathname, O_RDWR); + if (fd < 0) { + return false; + } + + ret = read(fd, &value, sizeof(value)); + if (ret < 0) { + close(fd); + return false; + } + + ret = write(fd, data, length); + if (ret < 0) { + close(fd); + return false; + } + close(fd); + return true; +} \ No newline at end of file diff --git a/test/fuzztest/memory/anonrefaultsnapshotmininterval_fuzzer/BUILD.gn b/test/fuzztest/memory/anonrefaultsnapshotmininterval_fuzzer/BUILD.gn index 1728b29..d3c2528 100644 --- a/test/fuzztest/memory/anonrefaultsnapshotmininterval_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/anonrefaultsnapshotmininterval_fuzzer/BUILD.gn @@ -20,13 +20,18 @@ ohos_fuzztest("AnonRefaultSnapshotMinIntervalFuzzTest") { module_out_path = module_output_path fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/anonrefaultsnapshotmininterval_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "anonrefaultsnapshotmininterval_fuzzer.cpp" ] + sources = [ + "anonrefaultsnapshotmininterval_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/anonrefaultsnapshotmininterval_fuzzer/anonrefaultsnapshotmininterval_fuzzer.cpp b/test/fuzztest/memory/anonrefaultsnapshotmininterval_fuzzer/anonrefaultsnapshotmininterval_fuzzer.cpp index 3d35b90..7631897 100644 --- a/test/fuzztest/memory/anonrefaultsnapshotmininterval_fuzzer/anonrefaultsnapshotmininterval_fuzzer.cpp +++ b/test/fuzztest/memory/anonrefaultsnapshotmininterval_fuzzer/anonrefaultsnapshotmininterval_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *ANON_REFAULT_SNAPSHOT_MIN_INTERVAL = "/dev/memcg/memory.anon_refault_snapshot_min_interval"; namespace OHOS { bool AnonRefaultSnapshotMinIntervalFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(ANON_REFAULT_SNAPSHOT_MIN_INTERVAL, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", ANON_REFAULT_SNAPSHOT_MIN_INTERVAL); - close(fd); - return false; - } - - ret = write(fd, data, size); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, ANON_REFAULT_SNAPSHOT_MIN_INTERVAL); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/memory/appscore_fuzzer/BUILD.gn b/test/fuzztest/memory/appscore_fuzzer/BUILD.gn index 33b823b..0ae3eb8 100644 --- a/test/fuzztest/memory/appscore_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/appscore_fuzzer/BUILD.gn @@ -20,13 +20,18 @@ ohos_fuzztest("AppScoreFuzzTest") { module_out_path = module_output_path fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/appscore_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "appscore_fuzzer.cpp" ] + sources = [ + "appscore_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/appscore_fuzzer/appscore_fuzzer.cpp b/test/fuzztest/memory/appscore_fuzzer/appscore_fuzzer.cpp index 1896d1b..228c69f 100644 --- a/test/fuzztest/memory/appscore_fuzzer/appscore_fuzzer.cpp +++ b/test/fuzztest/memory/appscore_fuzzer/appscore_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *APP_SCORE = "/dev/memcg/memory.app_score"; namespace OHOS { bool AppScoreFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(APP_SCORE, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", APP_SCORE); - close(fd); - return false; - } - - ret = write(fd, data, size); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, APP_SCORE); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/memory/areaanonrefaultthreshold_fuzzer/BUILD.gn b/test/fuzztest/memory/areaanonrefaultthreshold_fuzzer/BUILD.gn index c7fc1a3..99267d9 100644 --- a/test/fuzztest/memory/areaanonrefaultthreshold_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/areaanonrefaultthreshold_fuzzer/BUILD.gn @@ -20,13 +20,18 @@ ohos_fuzztest("AreaAnonRefaultThresholdFuzzTest") { module_out_path = module_output_path fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/areaanonrefaultthreshold_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "areaanonrefaultthreshold_fuzzer.cpp" ] + sources = [ + "areaanonrefaultthreshold_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/areaanonrefaultthreshold_fuzzer/areaanonrefaultthreshold_fuzzer.cpp b/test/fuzztest/memory/areaanonrefaultthreshold_fuzzer/areaanonrefaultthreshold_fuzzer.cpp index fbe1e3c..ae6a297 100644 --- a/test/fuzztest/memory/areaanonrefaultthreshold_fuzzer/areaanonrefaultthreshold_fuzzer.cpp +++ b/test/fuzztest/memory/areaanonrefaultthreshold_fuzzer/areaanonrefaultthreshold_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *AREA_ANON_REFAULT_THRESHOLD = "/dev/memcg/memory.area_anon_refault_threshold"; namespace OHOS { bool AreaAnonRefaultThresholdFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(AREA_ANON_REFAULT_THRESHOLD, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", AREA_ANON_REFAULT_THRESHOLD); - close(fd); - return false; - } - - ret = write(fd, data, size); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, AREA_ANON_REFAULT_THRESHOLD); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/memory/availbuffers_fuzzer/BUILD.gn b/test/fuzztest/memory/availbuffers_fuzzer/BUILD.gn index 23dc1c7..9f89601 100644 --- a/test/fuzztest/memory/availbuffers_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/availbuffers_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("AvailBuffersFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/availbuffers_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "availbuffers_fuzzer.cpp" ] + sources = [ + "availbuffers_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/availbuffers_fuzzer/availbuffers_fuzzer.cpp b/test/fuzztest/memory/availbuffers_fuzzer/availbuffers_fuzzer.cpp index 54ceadd..7966357 100644 --- a/test/fuzztest/memory/availbuffers_fuzzer/availbuffers_fuzzer.cpp +++ b/test/fuzztest/memory/availbuffers_fuzzer/availbuffers_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *AVAIL_BUFFERS = "/dev/memcg/memory.avail_buffers"; namespace OHOS { bool AvailBuffersFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(AVAIL_BUFFERS, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", AVAIL_BUFFERS); - close(fd); - return false; - } - - ret = write(fd, data, size); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, AVAIL_BUFFERS); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/memory/bufferratioparams_fuzzer/BUILD.gn b/test/fuzztest/memory/bufferratioparams_fuzzer/BUILD.gn index 323a77e..1ff7644 100644 --- a/test/fuzztest/memory/bufferratioparams_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/bufferratioparams_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("BufferRatioParamsFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/bufferratioparams_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "bufferratioparams_fuzzer.cpp" ] + sources = [ + "bufferratioparams_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/bufferratioparams_fuzzer/bufferratioparams_fuzzer.cpp b/test/fuzztest/memory/bufferratioparams_fuzzer/bufferratioparams_fuzzer.cpp index e05a1b6..56670cd 100644 --- a/test/fuzztest/memory/bufferratioparams_fuzzer/bufferratioparams_fuzzer.cpp +++ b/test/fuzztest/memory/bufferratioparams_fuzzer/bufferratioparams_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *BUFFER_RATIO_PARAMS = "/dev/memcg/memory.buffer_ratio_params"; namespace OHOS { bool BufferRatioParamsFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(BUFFER_RATIO_PARAMS, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", BUFFER_RATIO_PARAMS); - close(fd); - return false; - } - - ret = write(fd, data, sizeof(uint8_t)); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, BUFFER_RATIO_PARAMS); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/memory/compressratio_fuzzer/BUILD.gn b/test/fuzztest/memory/compressratio_fuzzer/BUILD.gn index 019dd38..5df1250 100644 --- a/test/fuzztest/memory/compressratio_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/compressratio_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("CompressRatioFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/compressratio_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "compressratio_fuzzer.cpp" ] + sources = [ + "compressratio_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/compressratio_fuzzer/compressratio_fuzzer.cpp b/test/fuzztest/memory/compressratio_fuzzer/compressratio_fuzzer.cpp index 44a5437..3eeadbf 100644 --- a/test/fuzztest/memory/compressratio_fuzzer/compressratio_fuzzer.cpp +++ b/test/fuzztest/memory/compressratio_fuzzer/compressratio_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *COMPRESS_RATIO = "/dev/memcg/memory.compress_ratio"; namespace OHOS { bool CompressRatioFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(COMPRESS_RATIO, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", COMPRESS_RATIO); - close(fd); - return false; - } - - ret = write(fd, data, sizeof(uint8_t)); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, COMPRESS_RATIO); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/memory/emptyroundcheckthreshold_fuzzer/BUILD.gn b/test/fuzztest/memory/emptyroundcheckthreshold_fuzzer/BUILD.gn index 7afade9..2817eba 100644 --- a/test/fuzztest/memory/emptyroundcheckthreshold_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/emptyroundcheckthreshold_fuzzer/BUILD.gn @@ -20,13 +20,18 @@ ohos_fuzztest("EmptyRoundCheckThresholdFuzzTest") { module_out_path = module_output_path fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/emptyroundcheckthreshold_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "emptyroundcheckthreshold_fuzzer.cpp" ] + sources = [ + "emptyroundcheckthreshold_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/emptyroundcheckthreshold_fuzzer/emptyroundcheckthreshold_fuzzer.cpp b/test/fuzztest/memory/emptyroundcheckthreshold_fuzzer/emptyroundcheckthreshold_fuzzer.cpp index a57895a..13537a8 100644 --- a/test/fuzztest/memory/emptyroundcheckthreshold_fuzzer/emptyroundcheckthreshold_fuzzer.cpp +++ b/test/fuzztest/memory/emptyroundcheckthreshold_fuzzer/emptyroundcheckthreshold_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *EMPTY_ROUND_CHECK_THRESHOLD = "/dev/memcg/memory.empty_round_check_threshold"; namespace OHOS { bool EmptyRoundCheckThresholdFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(EMPTY_ROUND_CHECK_THRESHOLD, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", EMPTY_ROUND_CHECK_THRESHOLD); - close(fd); - return false; - } - - ret = write(fd, data, size); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, EMPTY_ROUND_CHECK_THRESHOLD); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/memory/emptyroundskipinterval_fuzzer/BUILD.gn b/test/fuzztest/memory/emptyroundskipinterval_fuzzer/BUILD.gn index 4d456e8..a22c3f3 100644 --- a/test/fuzztest/memory/emptyroundskipinterval_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/emptyroundskipinterval_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("EmptyRoundSkipIntervalFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/emptyroundskipinterval_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "emptyroundskipinterval_fuzzer.cpp" ] + sources = [ + "emptyroundskipinterval_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/emptyroundskipinterval_fuzzer/emptyroundskipinterval_fuzzer.cpp b/test/fuzztest/memory/emptyroundskipinterval_fuzzer/emptyroundskipinterval_fuzzer.cpp index 787aa5f..3152999 100644 --- a/test/fuzztest/memory/emptyroundskipinterval_fuzzer/emptyroundskipinterval_fuzzer.cpp +++ b/test/fuzztest/memory/emptyroundskipinterval_fuzzer/emptyroundskipinterval_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *EMPTY_ROUND_SKIP_INTERVAL = "/dev/memcg/memory.empty_round_skip_interval"; namespace OHOS { bool EmptyRoundSkipIntervalFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(EMPTY_ROUND_SKIP_INTERVAL, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", EMPTY_ROUND_SKIP_INTERVAL); - close(fd); - return false; - } - - ret = write(fd, data, size); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, EMPTY_ROUND_SKIP_INTERVAL); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/memory/forceshrinkanon_fuzzer/BUILD.gn b/test/fuzztest/memory/forceshrinkanon_fuzzer/BUILD.gn index 08e9c7a..ede6f85 100644 --- a/test/fuzztest/memory/forceshrinkanon_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/forceshrinkanon_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("ForceShrinkAnonFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/forceshrinkanon_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "forceshrinkanon_fuzzer.cpp" ] + sources = [ + "forceshrinkanon_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/forceshrinkanon_fuzzer/forceshrinkanon_fuzzer.cpp b/test/fuzztest/memory/forceshrinkanon_fuzzer/forceshrinkanon_fuzzer.cpp index 6725fe7..432ffca 100644 --- a/test/fuzztest/memory/forceshrinkanon_fuzzer/forceshrinkanon_fuzzer.cpp +++ b/test/fuzztest/memory/forceshrinkanon_fuzzer/forceshrinkanon_fuzzer.cpp @@ -20,6 +20,7 @@ #include #include #include +#include "memorycommon.h" const char *FORCE_SHRINK_ANON = "/dev/memcg/memory.force_shrink_anon"; diff --git a/test/fuzztest/accesstokenid/gettokenidcmderror_fuzzer/gettokenidcmderror_fuzzer.h b/test/fuzztest/memory/include/memorycommon.h similarity index 74% rename from test/fuzztest/accesstokenid/gettokenidcmderror_fuzzer/gettokenidcmderror_fuzzer.h rename to test/fuzztest/memory/include/memorycommon.h index 0545956..20aa4d9 100644 --- a/test/fuzztest/accesstokenid/gettokenidcmderror_fuzzer/gettokenidcmderror_fuzzer.h +++ b/test/fuzztest/memory/include/memorycommon.h @@ -13,9 +13,4 @@ * limitations under the License. */ -#ifndef TEST_FUZZTEST_GETTOKENIDCMDERROR_FUZZER_H -#define TEST_FUZZTEST_GETTOKENIDCMDERROR_FUZZER_H - -#define FUZZ_PROJECT_NAME "gettokenidcmderror_fuzzer" - -#endif // TEST_FUZZTEST_GETTOKENIDCMDERROR_FUZZER_H +bool MemoryFuzzTest(const uint8_t *data, size_t size, const char *pathname); \ No newline at end of file diff --git a/test/fuzztest/memory/maxskipinterval_fuzzer/BUILD.gn b/test/fuzztest/memory/maxskipinterval_fuzzer/BUILD.gn index f5273cd..7a28afc 100644 --- a/test/fuzztest/memory/maxskipinterval_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/maxskipinterval_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("MaxSkipIntervalFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/maxskipinterval_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "maxskipinterval_fuzzer.cpp" ] + sources = [ + "maxskipinterval_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/maxskipinterval_fuzzer/maxskipinterval_fuzzer.cpp b/test/fuzztest/memory/maxskipinterval_fuzzer/maxskipinterval_fuzzer.cpp index f87096b..7251aa7 100644 --- a/test/fuzztest/memory/maxskipinterval_fuzzer/maxskipinterval_fuzzer.cpp +++ b/test/fuzztest/memory/maxskipinterval_fuzzer/maxskipinterval_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *MAX_SKIP_INTERVAL = "/dev/memcg/memory.max_skip_interval"; namespace OHOS { bool MaxSkipIntervalFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(MAX_SKIP_INTERVAL, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", MAX_SKIP_INTERVAL); - close(fd); - return false; - } - - ret = write(fd, data, size); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, MAX_SKIP_INTERVAL); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/memory/name_fuzzer/BUILD.gn b/test/fuzztest/memory/name_fuzzer/BUILD.gn index b49cc4e..b7e96b5 100644 --- a/test/fuzztest/memory/name_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/name_fuzzer/BUILD.gn @@ -20,13 +20,18 @@ ohos_fuzztest("NameFuzzTest") { module_out_path = module_output_path fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/name_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "name_fuzzer.cpp" ] + sources = [ + "name_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/name_fuzzer/name_fuzzer.cpp b/test/fuzztest/memory/name_fuzzer/name_fuzzer.cpp index d8fe0e5..2a348db 100644 --- a/test/fuzztest/memory/name_fuzzer/name_fuzzer.cpp +++ b/test/fuzztest/memory/name_fuzzer/name_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *NAME = "/dev/memcg/memory.name"; namespace OHOS { bool NameFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(NAME, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", NAME); - close(fd); - return false; - } - - ret = write(fd, data, size); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, NAME); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/accesstokenid/getftokenidcmdcorrect_fuzzer/getftokenidcmdcorrect_fuzzer.h b/test/fuzztest/memory/src/memorycommon.cpp similarity index 50% rename from test/fuzztest/accesstokenid/getftokenidcmdcorrect_fuzzer/getftokenidcmdcorrect_fuzzer.h rename to test/fuzztest/memory/src/memorycommon.cpp index 314fb9d..30798de 100644 --- a/test/fuzztest/accesstokenid/getftokenidcmdcorrect_fuzzer/getftokenidcmdcorrect_fuzzer.h +++ b/test/fuzztest/memory/src/memorycommon.cpp @@ -13,9 +13,36 @@ * limitations under the License. */ -#ifndef TEST_FUZZTEST_GETFTOKENIDCMDCORRECT_FUZZER_H -#define TEST_FUZZTEST_GETFTOKENIDCMDCORRECT_FUZZER_H +#include +#include +#include +#include +#include +#include +#include +#include "memorycommon.h" -#define FUZZ_PROJECT_NAME "getftokenidcmdcorrect_fuzzer" +bool MemoryFuzzTest(const uint8_t *data, size_t size, const char *pathname) +{ + uint32_t value = 0; -#endif // TEST_FUZZTEST_GETFTOKENIDCMDCORRECT_FUZZER_H + int fd = open(pathname, O_RDWR); + if (fd < 0) { + return false; + } + + int ret = read(fd, &value, sizeof(value)); + if (ret < 0) { + close(fd); + return false; + } + + ret = write(fd, data, size); + if (ret < 0) { + close(fd); + return false; + } + + close(fd); + return true; +} \ No newline at end of file diff --git a/test/fuzztest/memory/ubufs2zramratio_fuzzer/BUILD.gn b/test/fuzztest/memory/ubufs2zramratio_fuzzer/BUILD.gn index 88cd1ae..5b707fc 100644 --- a/test/fuzztest/memory/ubufs2zramratio_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/ubufs2zramratio_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("UbUfs2zramRatioFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/ubufs2zramratio_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "ubufs2zramratio_fuzzer.cpp" ] + sources = [ + "ubufs2zramratio_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/ubufs2zramratio_fuzzer/ubufs2zramratio_fuzzer.cpp b/test/fuzztest/memory/ubufs2zramratio_fuzzer/ubufs2zramratio_fuzzer.cpp index a8ab055..f11e11b 100644 --- a/test/fuzztest/memory/ubufs2zramratio_fuzzer/ubufs2zramratio_fuzzer.cpp +++ b/test/fuzztest/memory/ubufs2zramratio_fuzzer/ubufs2zramratio_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *UB_UFS2ZRAM_RATIO = "/dev/memcg/memory.ub_ufs2zram_ratio"; namespace OHOS { bool UbUfs2zramRatioFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(UB_UFS2ZRAM_RATIO, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", UB_UFS2ZRAM_RATIO); - close(fd); - return false; - } - - ret = write(fd, data, sizeof(uint8_t)); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, UB_UFS2ZRAM_RATIO); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/memory/zramcriticalthreshold_fuzzer/BUILD.gn b/test/fuzztest/memory/zramcriticalthreshold_fuzzer/BUILD.gn index 6c3c462..b02a7a6 100644 --- a/test/fuzztest/memory/zramcriticalthreshold_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/zramcriticalthreshold_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("ZramCriticalThresholdFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/zramcriticalthreshold_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "zramcriticalthreshold_fuzzer.cpp" ] + sources = [ + "zramcriticalthreshold_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/zramcriticalthreshold_fuzzer/zramcriticalthreshold_fuzzer.cpp b/test/fuzztest/memory/zramcriticalthreshold_fuzzer/zramcriticalthreshold_fuzzer.cpp index 5fc1675..c3e9a36 100644 --- a/test/fuzztest/memory/zramcriticalthreshold_fuzzer/zramcriticalthreshold_fuzzer.cpp +++ b/test/fuzztest/memory/zramcriticalthreshold_fuzzer/zramcriticalthreshold_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *ZRAM_CRITICAL_THRESHOLD = "/dev/memcg/memory.zram_critical_threshold"; namespace OHOS { bool ZramCriticalThresholdFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(ZRAM_CRITICAL_THRESHOLD, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", ZRAM_CRITICAL_THRESHOLD); - close(fd); - return false; - } - - ret = write(fd, data, size); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, ZRAM_CRITICAL_THRESHOLD); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/memory/zramwmratio_fuzzer/BUILD.gn b/test/fuzztest/memory/zramwmratio_fuzzer/BUILD.gn index 981da10..6567a05 100644 --- a/test/fuzztest/memory/zramwmratio_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/zramwmratio_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("ZramWmRatioFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/zramwmratio_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "zramwmratio_fuzzer.cpp" ] + sources = [ + "zramwmratio_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/zramwmratio_fuzzer/zramwmratio_fuzzer.cpp b/test/fuzztest/memory/zramwmratio_fuzzer/zramwmratio_fuzzer.cpp index 3560005..3839c4d 100644 --- a/test/fuzztest/memory/zramwmratio_fuzzer/zramwmratio_fuzzer.cpp +++ b/test/fuzztest/memory/zramwmratio_fuzzer/zramwmratio_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *ZRAM_WR_RATIO = "/dev/memcg/memory.zram_wm_ratio"; namespace OHOS { bool ZramWmRatioFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(ZRAM_WR_RATIO, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", ZRAM_WR_RATIO); - close(fd); - return false; - } - - ret = write(fd, data, sizeof(uint8_t)); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, ZRAM_WR_RATIO); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/memory/zswapdmaxreclaimsize_fuzzer/BUILD.gn b/test/fuzztest/memory/zswapdmaxreclaimsize_fuzzer/BUILD.gn index 93a7875..654cd39 100644 --- a/test/fuzztest/memory/zswapdmaxreclaimsize_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/zswapdmaxreclaimsize_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("ZswapdMaxReclaimSizeFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/zswapdmaxreclaimsize_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "zswapdmaxreclaimsize_fuzzer.cpp" ] + sources = [ + "zswapdmaxreclaimsize_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/zswapdmaxreclaimsize_fuzzer/zswapdmaxreclaimsize_fuzzer.cpp b/test/fuzztest/memory/zswapdmaxreclaimsize_fuzzer/zswapdmaxreclaimsize_fuzzer.cpp index 6697c5c..26ef24a 100644 --- a/test/fuzztest/memory/zswapdmaxreclaimsize_fuzzer/zswapdmaxreclaimsize_fuzzer.cpp +++ b/test/fuzztest/memory/zswapdmaxreclaimsize_fuzzer/zswapdmaxreclaimsize_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *ZSWAPD_MAX_RECLAIM_SIZE = "/dev/memcg/memory.zswapd_max_reclaim_size"; namespace OHOS { bool ZswapdMaxReclaimSizeFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(ZSWAPD_MAX_RECLAIM_SIZE, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", ZSWAPD_MAX_RECLAIM_SIZE); - close(fd); - return false; - } - - ret = write(fd, data, size); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, ZSWAPD_MAX_RECLAIM_SIZE); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/memory/zswapdmemcgsparam_fuzzer/BUILD.gn b/test/fuzztest/memory/zswapdmemcgsparam_fuzzer/BUILD.gn index 64fd1c4..f8fb4a2 100644 --- a/test/fuzztest/memory/zswapdmemcgsparam_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/zswapdmemcgsparam_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("ZswapdMemcgsparamFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/zswapdmemcgsparam_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "zswapdmemcgsparam_fuzzer.cpp" ] + sources = [ + "zswapdmemcgsparam_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/zswapdmemcgsparam_fuzzer/zswapdmemcgsparam_fuzzer.cpp b/test/fuzztest/memory/zswapdmemcgsparam_fuzzer/zswapdmemcgsparam_fuzzer.cpp index 7b35774..85fc81f 100644 --- a/test/fuzztest/memory/zswapdmemcgsparam_fuzzer/zswapdmemcgsparam_fuzzer.cpp +++ b/test/fuzztest/memory/zswapdmemcgsparam_fuzzer/zswapdmemcgsparam_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *ZSWAPD_MEMCGS_PARAM = "/dev/memcg/memory.zswapd_memcgs_param"; namespace OHOS { bool ZswapdMemcgsParamFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(ZSWAPD_MEMCGS_PARAM, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", ZSWAPD_MEMCGS_PARAM); - close(fd); - return false; - } - - ret = write(fd, data, size); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, ZSWAPD_MEMCGS_PARAM); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/memory/zswapdpressureshow_fuzzer/BUILD.gn b/test/fuzztest/memory/zswapdpressureshow_fuzzer/BUILD.gn index c12a1bb..7cb9cb5 100644 --- a/test/fuzztest/memory/zswapdpressureshow_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/zswapdpressureshow_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("ZswapdPressureShowFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/zswapdpressureshow_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "zswapdpressureshow_fuzzer.cpp" ] + sources = [ + "zswapdpressureshow_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/zswapdpressureshow_fuzzer/zswapdpressureshow_fuzzer.cpp b/test/fuzztest/memory/zswapdpressureshow_fuzzer/zswapdpressureshow_fuzzer.cpp index 8dfcd24..865fdd1 100644 --- a/test/fuzztest/memory/zswapdpressureshow_fuzzer/zswapdpressureshow_fuzzer.cpp +++ b/test/fuzztest/memory/zswapdpressureshow_fuzzer/zswapdpressureshow_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *ZSWAPD_PRESSURE_SHOW = "/dev/memcg/memory.zswapd_pressure_show"; namespace OHOS { bool ZswapdPressureShowFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(ZSWAPD_PRESSURE_SHOW, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", ZSWAPD_PRESSURE_SHOW); - close(fd); - return false; - } - - ret = write(fd, data, sizeof(uint8_t)); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, ZSWAPD_PRESSURE_SHOW); + return ret; } } // namespace OHOS diff --git a/test/fuzztest/memory/zswapdsinglememcgparam_fuzzer/BUILD.gn b/test/fuzztest/memory/zswapdsinglememcgparam_fuzzer/BUILD.gn index 6a8459e..722dd27 100644 --- a/test/fuzztest/memory/zswapdsinglememcgparam_fuzzer/BUILD.gn +++ b/test/fuzztest/memory/zswapdsinglememcgparam_fuzzer/BUILD.gn @@ -21,13 +21,18 @@ ohos_fuzztest("ZswapdSingleMemcgParamFuzzTest") { fuzz_config_file = "//kernel/linux/build/test/fuzztest/memory/zswapdsinglememcgparam_fuzzer" + include_dirs = [ "../include" ] + cflags = [ "-g", "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", ] - sources = [ "zswapdsinglememcgparam_fuzzer.cpp" ] + sources = [ + "zswapdsinglememcgparam_fuzzer.cpp", + "../src/memorycommon.cpp", + ] } group("fuzztest") { diff --git a/test/fuzztest/memory/zswapdsinglememcgparam_fuzzer/zswapdsinglememcgparam_fuzzer.cpp b/test/fuzztest/memory/zswapdsinglememcgparam_fuzzer/zswapdsinglememcgparam_fuzzer.cpp index 8e7c735..77de139 100644 --- a/test/fuzztest/memory/zswapdsinglememcgparam_fuzzer/zswapdsinglememcgparam_fuzzer.cpp +++ b/test/fuzztest/memory/zswapdsinglememcgparam_fuzzer/zswapdsinglememcgparam_fuzzer.cpp @@ -20,34 +20,15 @@ #include #include #include +#include "memorycommon.h" const char *ZSWAPD_SINGLE_MEMCG_PARAM = "/dev/memcg/memory.zswapd_single_memcg_param"; namespace OHOS { bool ZswapdSingleMemcgParamFuzzer(const uint8_t *data, size_t size) { - uint32_t value = 0; - - int fd = open(ZSWAPD_SINGLE_MEMCG_PARAM, O_RDWR); - if (fd < 0) { - return false; - } - - int ret = read(fd, &value, sizeof(value)); - if (ret < 0) { - printf("%s read fail\n", ZSWAPD_SINGLE_MEMCG_PARAM); - close(fd); - return false; - } - - ret = write(fd, data, size); - if (ret < 0) { - close(fd); - return false; - } - - close(fd); - return true; + bool ret = MemoryFuzzTest(data, size, ZSWAPD_SINGLE_MEMCG_PARAM); + return ret; } } // namespace OHOS -- Gitee