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
This commit is contained in:
Pawan Wagh 2023-03-15 20:50:36 +00:00
parent dc262c27f0
commit 25effc38ff

View file

@ -14,15 +14,27 @@
* limitations under the License. * limitations under the License.
*/ */
#include <android-base/logging.h>
#include <fuzzbinder/libbinder_driver.h> #include <fuzzbinder/libbinder_driver.h>
#include "VoldNativeService.h" #include "VoldNativeService.h"
#include "sehandle.h"
using ::android::fuzzService; using ::android::fuzzService;
using ::android::sp; using ::android::sp;
struct selabel_handle* sehandle; 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) { extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
auto voldService = sp<android::vold::VoldNativeService>::make(); auto voldService = sp<android::vold::VoldNativeService>::make();
fuzzService(voldService, FuzzedDataProvider(data, size)); fuzzService(voldService, FuzzedDataProvider(data, size));