diff --git a/test/fuzztest/accesstokenid/accessftokenidgrptest_fuzzer/BUILD.gn b/test/fuzztest/accesstokenid/accessftokenidgrptest_fuzzer/BUILD.gn index 25f6b34d81c1927d31763313f2c85b67c23ff139..6ed9dc3453ddb61bcec163daa14615fc8705713d 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 aa78808d62dd1ba32f983639b96e6b6cf9d0b322..2dc2296eb4392e25d05a749f8e694dfec8c6c226 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 d902d27f417973e42fb0de63fcbba0f6935de5db..6e4cbfc4975bdb1e1ed9758c0bf325deb25717ac 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 5f5c841de790b3199f12632ef2acb5179366ebee..6a58dfe59ee6f0974c8c81e507a51d62d164f1d2 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 3bdbd2bbb40092340d484da3c7d6a22b3fc20c11..b842dac84218b3db6385b679462937cf53985154 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 9e8fbd67e433dc0996c8907ac64a036050562287..ad8101a3dd9bd702c93a96ce3a0f1a17a32864fb 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 dd833e2068a3286420d1f26f7a8c8193b5325c0f..da9537e47753be4285409e91fe66817ad9a27c24 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 0425ea0ad49f88f12ba6d88b4e093b4bdc5f260c..f59e1c709e8123a9560d983d9c4502b7db7b759d 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 66b1aab8178c3de7ab0ef03e7bc287ac00a9f719..1464b6f84ab676d4e83c15491337076bbf80152e 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 0ffb6a996379b9cdb5d2c4dadd386f5e6ac5449d..3fb5237957e3c782bf618bae1a25c2b3d9149cdc 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 a7aa7278a55657d3651f13da66e2c3ac16bae9a8..8b092e614c5a28979bc4d47622193ae351d687d5 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 8dbfbf3f5ae652a0c575f76ad5bb18494e4033ee..0882bb7068b5ae6c0b614e0bd1f2f481255952c7 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 4f2e59205d40c44917b49de78aaae0515564d039..310c2a9beb9c956e02d9752d7e3ce22f284105e9 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 e594226e8e3ef30b2c3501f09deb66b146e64e6e..28255d69ada830e4a36eaf4ee519a11091e8310d 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 fe074a4201adf3596a6ae77d7a31e9f0d4c9c1f4..0000000000000000000000000000000000000000 --- 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 7b1cd98b98e4090c9ea8646cd8420a4947f3181b..856b61f00742ceaaa125961f867692b347c27e7c 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 bdabf6fa9cc37a6801b48d146972d4d2d402a90e..bf9b79cd11837a14ea3e90ac1150105c4754c438 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 595cabdb6b2a389d2c56ecdaea6211676eca2491..35b1d10764075cfc95367769dbd0d17b4941131e 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 0b440c269cba3ffe7fb0d3670ded743e405aec24..0000000000000000000000000000000000000000 --- 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 00fb0ffc6e165a7435d002b6b42a249fbe6b2e60..3a642c1071213f6fff7d968c3f7ac0ef2ba4c533 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 d3b91841189ee22e4578264de978214a5622242c..7edb5fda1adb4e9110a998da3f230df053b74117 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 3ab67c53750f506e4f4dafd58cc3fca9d9f7a005..0000000000000000000000000000000000000000 --- 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 0847e822561b035a429bf7825a397478c8662c93..6d4ebbcd4cd5546aa3421bc27cb7846579f55461 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 f79706f091622994daa87c5cb3c927df2ae88a9c..93692e8439ac3ae50429bd76f96eec61dfacb89d 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 0bd4263c3218e1deff5e7978bbb95f292ea09b6b..212190c0d16dc191fb0f5436e57695b64786b029 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 4cc82cad5a4a8084a7a1453e9e4c0d29cf8d29ab..0000000000000000000000000000000000000000 --- 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 37851e069437b857a1c7dbf629b6adab8e8f5002..cff1a004a3b4861eebfb4391c66cca2bcbb0ded6 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 7f6b53888b010ce521c1eb1aa237d334c3a7e024..0000000000000000000000000000000000000000 --- 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 69d3471145c9a15e4eac9528923f22191eb075e5..18a28cde00436157917af3bb3f5e2c30cd8c8b32 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 d2edc284413c9fd5bee27e37d57a04202f6a0d57..72c4ca4aa8e25e0756f6277612786273c344f24e 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 93eac6748efea2d9a8e59745f042b71e8b48a470..2eb3d645ca9ae9647331ca510e69acb94da4a9ee 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 dc889e81f51aff9f36451443334aa72e454e8ff9..ff4f2470a4cb7395342c82ec57007136e41eab24 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 5918d1ef51b8a56a02429b752abd0c6e01c36964..a1beab2e861bc8075351068aecfc460f5d7016fa 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 ba64e31647d4f5dfd347a3455f279b825272a599..9184a7088389188a8daefe37203097a25a341a85 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 e037e72adc688da9d3db9993f7ce36627f9b58f2..88cbc08065784d31bf2a35cb5475072611ee1dbb 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 2ff4a14c5637fa87cfec535d7d3ec0145e778c05..bfd1350cb1412d62a767981bb293e0ed4532c606 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 8f5b0bf29740554f5c9a53ddd8257760fb2cba04..d8cb261538a71271cb4929bfc32a07cfcf4ce5a0 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 f31385874a9b6083cd6d91b7cb73d8e42bc23fc4..f7cf5c6ede43328187c1657dec83a0ed1ef96b56 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 2910e8b6de93b02efa2506170f8ab0c7bc21086b..818a0977138850f47d24d1cdaef57e32c9599c96 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 2a1f7fe48ba897e73f7e0e3dcb4f6194dfcfbe26..9c3eef9da1c30e097817e0cb09a725d747f415a3 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 849fefae6bbaa1012ce37459e0fb07f2fb3acb51..83005f9f5400b3d9f736eddb17ef21a4019f443e 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 76517cb8d525ffa8f858b0861c88113b57c81ad8..20c072b93c0f78164e408f070a84f3107b1ef850 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 02eedd391a5788558bef0a09f53d7f5711defa34..2c3203b0496ffdc737e034bb8de374eb3abbdeea 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 11d6cbfbd783b243255bb9ae63a7d87e812cd5b7..cd891c152ba04bb2bfa491f268e5640969fe5215 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 075d978592fe48ff6c45dc239c76b1cad2ff0ed2..a6e07f436c3e0d414db43864d09d59230c14a203 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 82873d4ac586384a52178f6522838403b9d7f09b..36d0a2865b872af0adb426eabe495149585b5caf 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 4c19bc2767b246c728eed4361a19c7839d3690d0..2c34974692a0f92f0474f202712ce845a0128d84 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 78627a818e0a8220da26d642ebe2fc4fde28daa5..feeff62898801ed80571efcc8864d118cc5e3371 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 2ac8751939bb9810ce3ba007307b1ea178bd29b4..5d24596957116439725cae7364d5a535b8e83d11 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 1728b2973d601cf0b4208206fa857e897868b54f..d3c25287d3fa98faaab4e7a022d6f0c916d7310d 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 3d35b90ad43aaadaedb3752776f9653f071337d8..7631897886c6ee1e9f534f52a3eb09d7a1ac905b 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 33b823bd6c525305c2ed47da16d86d75eead4333..0ae3eb8618704b7fe19e146b169dec1356019082 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 1896d1b0f0cb72cfa2e0e52e2f5a6d4d63a45cc6..228c69f4d9788a78be18feac095482fd7447cb9a 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 c7fc1a3cb50992520b02cb83b4ad99960216f7a3..99267d99935bf27a7221f81a27f61e1256553da8 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 fbe1e3c766621345a913942505ac61c8bdd773a7..ae6a297da9ba167b0a927306bca20b0758fe28d7 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 23dc1c71291e8e32e581a6fe9dd75dcac8d68791..9f89601a36925fea1346c83b53bb516dde1e0fa5 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 54ceadd0f6692a49c8ca2f30258cf06eecd9edd4..7966357cb0b9b98995254ea6ded703d129fa4238 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 323a77e276b41a4228e14d46e9cc5e6b4289b7ee..1ff7644cb0eb43a1cbd5cf24a6ba058018ca77a5 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 e05a1b6e4eeebf219971a08b1ac029e7433c3ec1..56670cdd4c5bfc8b090e5447b1ac6ce1ad646c07 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 019dd38a6ff6d812fa29268f4e12b46492276afa..5df1250572252b8bff89995406b94fea58314cad 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 44a5437dade705c34856986578d935e3e8c8c5e9..3eeadbf2f078768c66b10b472afce13414f8a31a 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 7afade9b815670d12d804940fe87dd6b24a044c8..2817ebaab95d5fe98baed18d542951bf769d0824 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 a57895aa528934a7d466c937564f01f2f23ae5df..13537a8b6f4bbe67dfe2955f3d50ce5f2af2ea42 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 4d456e8a0b2733484637fd32ccb49a1594d44404..a22c3f3c43e7aa80f36062125ea62ee05795fc51 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 787aa5f924d6df7bace3164479dd80b2121294d9..3152999c7e24471f79b2d616bef210358c200850 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 08e9c7a8e4cfcb61cde1ab35eea1925251823527..ede6f8543996157200aaacbef25b9abf45703266 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 6725fe7e1196b69ff8aa146dd5da8874b439b420..432ffca77f950a821de5766efa69942325ee64fc 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 05459560403be0fc8753911f1a381a7b49718a8e..20aa4d9512c442ea9591309131df9f69af7e639f 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 f5273cde45915741f49939e71c137b59dfe0e250..7a28afc7699b3b343af878e656744f5b0882e71d 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 f87096bd48d1fd5bae280b35761833ebd195f747..7251aa7abc5c14826bea6833ce40b238b0b99b55 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 b49cc4ec975612550281af65a0ab84e9bfa0e776..b7e96b59dfbb81f6b09b9220d111e52d5b563da7 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 d8fe0e50a1a4f832457e6c1aaf5a7bf73e8335e4..2a348dbce567f5dd3ab7e47bbac403369e991113 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 314fb9de7c525f6c9b9f505e443a65ef65167b32..30798def624163c2b51f70033d5ecd04823981b4 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 88cd1ae553c03a8da1a7984ef132fe3c97af68e6..5b707fcf6144829cf1722356c9a10026d53faf25 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 a8ab055498fee0701279e2886b27c688685c06f2..f11e11b2d5e343c8b9be6e12904ecba497b6b293 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 6c3c462c567d1e257743a7ae1895dbab39bf4c0e..b02a7a6d2f52b8c08f1a44b3a29f59760a50b694 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 5fc1675b196d66a8f6245f3782390f3b4cba492a..c3e9a368e56f5a35c58a9a748ab947a9ca57efd5 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 981da105b3d43a366245c67ef31f57c9d964a323..6567a0517aa29b08fd5aee7301d22c2d3c84dfa0 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 35600058767c532a9779a4e7e8e5d994064826bc..3839c4d3d9826264f9989981cb1a0e8f3f0d4025 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 93a7875aa1ce71935c0e73a53a2b0f85f59c0005..654cd39bbc97f6f366acef4e6a834d9b85d96d61 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 6697c5c93cfd69c7e3153c521d6d4101967109df..26ef24a4fdb59196925f6f9a140dd04ac1eedbfb 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 64fd1c4c730ee26b660ae00fe612e8beee2168cc..f8fb4a22bc0ef7d3991b0688b56aea7756a888c9 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 7b3577480260d9e1a0aa306e18e5f4720197b3de..85fc81f65122b8c3c44864964553a803a905662c 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 c12a1bbbac63a949e00f7792df8b9955094b7952..7cb9cb54d269812cf0f00897878cda576ef729ac 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 8dfcd24af3c36b43a7f9eb3653e30064f4624fbd..865fdd17a40fffeefda8c1f8d1e9169063b4c59f 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 6a8459e72d23f312664f5400822fa2b5eb247ecd..722dd27d4cb27dcb10e9559fdd6b5a82a910b760 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 8e7c735f4da1260225d09647744d7c5733d17798..77de139f8ad8427247132316b3618639c69803ad 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