summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPawan Wagh <waghpawan@google.com>2023-03-15 20:50:36 +0000
committerPawan Wagh <waghpawan@google.com>2023-03-15 20:54:42 +0000
commit25effc38ffb60a46024d65a3bb679bcd1dd4016c (patch)
treef9f4b8bad91b9595687bb0d2ac69540d02e612bb
parentdc262c27f0702b5e2e859af9c2059308d2567c64 (diff)
downloadvold-25effc38ffb60a46024d65a3bb679bcd1dd4016c.tar.gz
Set sehandle in voldFuzzer
Bug: 271649747 Test: m vold_native_service_fuzzer && adb sync && adb shell data/fuzz/x86_64/vold_native_service_fuzzer/vold_native_service_fuzzer Change-Id: I55a17ffd631b0b85e2fc049bffe9a91623699e64
-rw-r--r--tests/VoldFuzzer.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/VoldFuzzer.cpp b/tests/VoldFuzzer.cpp
index e91cce86..630a785e 100644
--- a/tests/VoldFuzzer.cpp
+++ b/tests/VoldFuzzer.cpp
@@ -14,15 +14,27 @@
* limitations under the License.
*/
+#include <android-base/logging.h>
#include <fuzzbinder/libbinder_driver.h>
#include "VoldNativeService.h"
+#include "sehandle.h"
using ::android::fuzzService;
using ::android::sp;
struct selabel_handle* sehandle;
+extern "C" int LLVMFuzzerInitialize(int argc, char argv) {
+ sehandle = selinux_android_file_context_handle();
+ if (!sehandle) {
+ LOG(ERROR) << "Failed to get SELinux file contexts handle in voldFuzzer!";
+ exit(1);
+ }
+ selinux_android_set_sehandle(sehandle);
+ return 0;
+}
+
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
auto voldService = sp<android::vold::VoldNativeService>::make();
fuzzService(voldService, FuzzedDataProvider(data, size));