Lines Matching full:provider
31 // Uses the given |provider| to pick and return a number between 0 and the
34 size_t ConsumeSize(FuzzedDataProvider& provider) { in ConsumeSize() argument
35 size_t max = provider.remaining_bytes() / sizeof(T); in ConsumeSize()
36 return provider.ConsumeIntegralInRange<size_t>(0, max); in ConsumeSize()
39 // Uses the given |provider| to generate several instances of T, store them in
43 span<const T> ConsumeSpan(FuzzedDataProvider& provider, std::vector<T>* data) { in ConsumeSpan() argument
44 size_t num = ConsumeSize<T>(provider); in ConsumeSpan()
53 data->push_back(provider.ConsumeFloatingPoint<T>()); in ConsumeSpan()
55 data->push_back(provider.ConsumeIntegral<T>()); in ConsumeSpan()
61 // Uses the given |provider| to generate a string, store it in |data|, and
64 const char* ConsumeString(FuzzedDataProvider& provider, in ConsumeString() argument
70 data->push_back(provider.ConsumeRandomLengthString(max_length)); in ConsumeString()
74 // Uses the given |provider| to generate non-arithmetic bytes, store them in
77 span<const std::byte> ConsumeBytes(FuzzedDataProvider& provider, in ConsumeBytes() argument
79 size_t num = ConsumeSize<std::byte>(provider); in ConsumeBytes()
80 auto added = provider.ConsumeBytes<std::byte>(num); in ConsumeBytes()
91 void RecursiveFuzzedEncode(FuzzedDataProvider& provider, in RecursiveFuzzedEncode() argument
114 while (provider.remaining_bytes() != 0) { in RecursiveFuzzedEncode()
115 switch (provider.ConsumeEnum<FieldType>()) { in RecursiveFuzzedEncode()
118 .WriteUint32(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
119 provider.ConsumeIntegral<uint32_t>()) in RecursiveFuzzedEncode()
124 .WritePackedUint32(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
125 ConsumeSpan<uint32_t>(provider, &u32s)) in RecursiveFuzzedEncode()
130 .WriteUint64(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
131 provider.ConsumeIntegral<uint64_t>()) in RecursiveFuzzedEncode()
136 .WritePackedUint64(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
137 ConsumeSpan<uint64_t>(provider, &u64s)) in RecursiveFuzzedEncode()
142 .WriteInt32(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
143 provider.ConsumeIntegral<int32_t>()) in RecursiveFuzzedEncode()
148 .WritePackedInt32(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
149 ConsumeSpan<int32_t>(provider, &s32s)) in RecursiveFuzzedEncode()
154 .WriteInt64(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
155 provider.ConsumeIntegral<int64_t>()) in RecursiveFuzzedEncode()
160 .WritePackedInt64(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
161 ConsumeSpan<int64_t>(provider, &s64s)) in RecursiveFuzzedEncode()
166 .WriteSint32(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
167 provider.ConsumeIntegral<int32_t>()) in RecursiveFuzzedEncode()
172 .WritePackedSint32(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
173 ConsumeSpan<int32_t>(provider, &s32s)) in RecursiveFuzzedEncode()
178 .WriteSint64(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
179 provider.ConsumeIntegral<int64_t>()) in RecursiveFuzzedEncode()
184 .WritePackedSint64(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
185 ConsumeSpan<int64_t>(provider, &s64s)) in RecursiveFuzzedEncode()
190 .WriteBool(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
191 provider.ConsumeBool()) in RecursiveFuzzedEncode()
196 .WriteFixed32(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
197 provider.ConsumeIntegral<uint32_t>()) in RecursiveFuzzedEncode()
202 .WritePackedFixed32(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
203 ConsumeSpan<uint32_t>(provider, &u32s)) in RecursiveFuzzedEncode()
208 .WriteFixed64(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
209 provider.ConsumeIntegral<uint64_t>()) in RecursiveFuzzedEncode()
214 .WritePackedFixed64(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
215 ConsumeSpan<uint64_t>(provider, &u64s)) in RecursiveFuzzedEncode()
220 .WriteSfixed32(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
221 provider.ConsumeIntegral<int32_t>()) in RecursiveFuzzedEncode()
226 .WritePackedSfixed32(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
227 ConsumeSpan<int32_t>(provider, &s32s)) in RecursiveFuzzedEncode()
232 .WriteSfixed64(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
233 provider.ConsumeIntegral<int64_t>()) in RecursiveFuzzedEncode()
238 .WritePackedSfixed64(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
239 ConsumeSpan<int64_t>(provider, &s64s)) in RecursiveFuzzedEncode()
244 .WriteFloat(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
245 provider.ConsumeFloatingPoint<float>()) in RecursiveFuzzedEncode()
250 .WritePackedFloat(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
251 ConsumeSpan<float>(provider, &floats)) in RecursiveFuzzedEncode()
256 .WriteDouble(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
257 provider.ConsumeFloatingPoint<double>()) in RecursiveFuzzedEncode()
262 .WritePackedDouble(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
263 ConsumeSpan<double>(provider, &doubles)) in RecursiveFuzzedEncode()
268 .WriteBytes(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
269 ConsumeBytes(provider, &bytes)) in RecursiveFuzzedEncode()
274 .WriteString(provider.ConsumeIntegral<uint32_t>(), in RecursiveFuzzedEncode()
275 ConsumeString(provider, &strings)) in RecursiveFuzzedEncode()
281 encoder.GetNestedEncoder(provider.ConsumeIntegral<uint32_t>()); in RecursiveFuzzedEncode()
282 RecursiveFuzzedEncode(provider, nested_encoder, depth + 1); in RecursiveFuzzedEncode()
294 void TestOneInput(FuzzedDataProvider& provider) { in TestOneInput() argument
300 provider.ConsumeIntegralInRange<size_t>(0, sizeof(buffer)); in TestOneInput()
307 RecursiveFuzzedEncode(provider, encoder); in TestOneInput()
317 FuzzedDataProvider provider(data, size); in LLVMFuzzerTestOneInput() local
318 pw::protobuf::fuzz::TestOneInput(provider); in LLVMFuzzerTestOneInput()