Go to the documentation of this file.
24 template <
typename...
Args>
25 void CreateFuzzingThread(
Args&&...
args) {
33 if (g_fuzzing_thread) {
34 g_fuzzing_thread->join();
35 delete g_fuzzing_thread;
36 g_fuzzing_thread =
nullptr;
71 std::unique_ptr<Binder>* binder) {
78 *binder = absl::make_unique<BinderForFuzzing>();
111 binder_transport_fuzzer::IncomingParcels incoming_parcels,
116 std::unique_ptr<grpc_binder::ReadableParcel> parcel =
117 absl::make_unique<ReadableParcelForFuzzing>(
118 incoming_parcels.setup_transport_transaction().parcel());
122 incoming_parcels.setup_transport_transaction().uid())
125 for (
const auto& tx_iter : incoming_parcels.transactions()) {
127 std::unique_ptr<grpc_binder::ReadableParcel> parcel =
128 absl::make_unique<ReadableParcelForFuzzing>(tx_iter.parcel());
133 wire_reader_ref =
nullptr;
137 binder_transport_fuzzer::IncomingParcels incoming_parcels,
148 auto tx_receiver = absl::make_unique<TransactionReceiverForFuzzing>(
absl::Status ReadByteArray(std::string *data) override
size_t consumed_data_size_
uint32_t transaction_code_t
Status InternalError(absl::string_view message)
TransactionReceiverForFuzzing(binder_transport_fuzzer::IncomingParcels incoming_parcels, grpc_core::RefCountedPtr< WireReader > wire_reader_ref, TransactionReceiver::OnTransactCb cb)
binder_transport_fuzzer::IncomingParcels incoming_parcels_
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
absl::Status ReadBinder(std::unique_ptr< Binder > *binder) override
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
absl::Status ReadInt32(int32_t *data) override
static constexpr size_t kParcelDataSizeLimit
std::queue< binder_transport_fuzzer::Value > values_
int32_t GetDataSize() const override
std::unique_ptr< TransactionReceiver > ConstructTxReceiver(grpc_core::RefCountedPtr< WireReader > wire_reader_ref, TransactionReceiver::OnTransactCb cb) const override
static void callback(void *arg, int status, int timeouts, struct hostent *host)
std::function< absl::Status(transaction_code_t, ReadableParcel *, int uid)> OnTransactCb
const int32_t parcel_data_size_
void FuzzingLoop(binder_transport_fuzzer::IncomingParcels incoming_parcels, grpc_core::RefCountedPtr< grpc_binder::WireReader > wire_reader_ref, grpc_binder::TransactionReceiver::OnTransactCb callback)
static uv_thread_t thread
OPENSSL_EXPORT pem_password_cb * cb
absl::Status ReadString(std::string *data) override
absl::Status ReadInt64(int64_t *data) override
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:23