| Index: net/base/fuzzed_data_provider.h
|
| diff --git a/net/base/fuzzed_data_provider.h b/net/base/fuzzed_data_provider.h
|
| index 47a45061cdf248b9a2da0bd5e94fb1399f04ba6b..4aa13db6c20a75634e437fd6cb5cfb86fb18b0fe 100644
|
| --- a/net/base/fuzzed_data_provider.h
|
| +++ b/net/base/fuzzed_data_provider.h
|
| @@ -33,24 +33,33 @@ class FuzzedDataProvider {
|
| // FuzzedDataProvider is destroyed.
|
| base::StringPiece ConsumeRemainingBytes();
|
|
|
| - // Returns an unsigned number in the range [min, max] by consuming bytes from
|
| - // the input data. The value might not be uniformly distributed in the given
|
| - // range. If there's no input data left, always returns |min|. |min| must be
|
| - // less than or equal to |max|.
|
| - uint32_t ConsumeValueInRange(uint32_t min, uint32_t max);
|
| + // Returns a number in the range [min, max] by consuming bytes from the input
|
| + // data. The value might not be uniformly distributed in the given range. If
|
| + // there's no input data left, always returns |min|. |min| must be less than
|
| + // or equal to |max|.
|
| + uint32_t ConsumeUint32InRange(uint32_t min, uint32_t max);
|
| + int ConsumeInt32InRange(int min, int max);
|
|
|
| // Returns a bool, or false when no data remains.
|
| bool ConsumeBool();
|
|
|
| // Returns a uint8_t from the input or 0 if nothing remains. This is
|
| - // equivalent to ConsumeValueInRange(0, 0xFF).
|
| + // equivalent to ConsumeUint32InRange(0, 0xFF).
|
| uint8_t ConsumeUint8();
|
|
|
| // Returns a uint16_t from the input. If fewer than 2 bytes of data remain
|
| // will fill the most significant bytes with 0. This is equivalent to
|
| - // ConsumeValueInRange(0, 0xFFFF).
|
| + // ConsumeUint32InRange(0, 0xFFFF).
|
| uint16_t ConsumeUint16();
|
|
|
| + // Returns a value from |array|, consuming as many bytes as needed to do so.
|
| + // |array| must be a fixed-size array. Equivalent to
|
| + // array[ConsumeUint32InRange(sizeof(array)-1)];
|
| + template <typename Type, size_t size>
|
| + Type PickValueInArray(Type (&array)[size]) {
|
| + return array[ConsumeUint32InRange(0, size - 1)];
|
| + }
|
| +
|
| // Reports the remaining bytes available for fuzzed input.
|
| size_t remaining_bytes() { return remaining_data_.length(); }
|
|
|
|
|