diff options
author | Sadaf Ebrahimi <sadafebrahimi@google.com> | 2022-10-20 16:54:45 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-10-20 16:54:45 +0000 |
commit | 7e7a774e315426f7eabfebd3d2b394ec3cb81808 (patch) | |
tree | 5f36135893467fd65bb194de56cb9d579cec6dd2 /README.md | |
parent | 7be9f8e9343bd9c817171bb6f4da5816041d0bbf (diff) | |
parent | 237cd6833bb8f3158227427eedbf1875ba25389e (diff) | |
download | libprotobuf-mutator-7e7a774e315426f7eabfebd3d2b394ec3cb81808.tar.gz |
Upgrade libprotobuf-mutator to dbe588bfb6922060e557fe5b8ee27d2923000c1a am: 2fcbc34326 am: 9ee6084729 am: 237cd6833bHEADandroid-14.0.0_r50android-14.0.0_r45android-14.0.0_r44android-14.0.0_r43android-14.0.0_r42android-14.0.0_r41android-14.0.0_r40android-14.0.0_r39android-14.0.0_r38android-14.0.0_r37android-14.0.0_r36android-14.0.0_r35android-14.0.0_r34android-14.0.0_r33android-14.0.0_r32android-14.0.0_r31android-14.0.0_r30android-14.0.0_r29android-14.0.0_r27android-14.0.0_r26android-14.0.0_r25android-14.0.0_r24android-14.0.0_r23android-14.0.0_r22android-14.0.0_r21android-14.0.0_r20android-14.0.0_r19android-14.0.0_r18android-14.0.0_r17android-14.0.0_r16aml_rkp_341510000aml_rkp_341311000aml_rkp_341114000aml_rkp_341015010aml_rkp_341012000aml_hef_341717050aml_hef_341613000aml_hef_341512030aml_hef_341415040aml_hef_341311010aml_hef_341114030aml_cfg_341510000mastermainandroid14-qpr3-releaseandroid14-qpr2-s5-releaseandroid14-qpr2-s4-releaseandroid14-qpr2-s3-releaseandroid14-qpr2-s2-releaseandroid14-qpr2-s1-releaseandroid14-qpr2-releaseandroid14-qpr1-s2-releaseandroid14-qpr1-releaseandroid14-mainline-healthfitness-releaseandroid14-devandroid14-d2-s5-releaseandroid14-d2-s4-releaseandroid14-d2-s3-releaseandroid14-d2-s2-releaseandroid14-d2-s1-releaseandroid14-d2-release
Original change: https://android-review.googlesource.com/c/platform/external/libprotobuf-mutator/+/2262286
Change-Id: I1d1e3425231501133f3b8d9837488d6c2529af50
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 34 |
1 files changed, 21 insertions, 13 deletions
@@ -118,20 +118,20 @@ may corrupt the reproducer so it stops triggering the bug. Note: You can add callback for any nested message and you can add multiple callbacks for the same message type. ``` -DEFINE_PROTO_FUZZER(const MyMessageType& input) { - static PostProcessorRegistration reg1 = { - [](MyMessageType* message, unsigned int seed) { - TweakMyMessage(message, seed); - }}; - static PostProcessorRegistration reg2 = { - [](MyMessageType* message, unsigned int seed) { - DifferentTweakMyMessage(message, seed); - }}; - static PostProcessorRegistration reg_nested = { - [](MyMessageType::Nested* message, unsigned int seed) { - TweakMyNestedMessage(message, seed); - }}; +static PostProcessorRegistration<MyMessageType> reg1 = { + [](MyMessageType* message, unsigned int seed) { + TweakMyMessage(message, seed); + }}; +static PostProcessorRegistration<MyMessageType> reg2 = { + [](MyMessageType* message, unsigned int seed) { + DifferentTweakMyMessage(message, seed); + }}; +static PostProcessorRegistration<MyMessageType::Nested> reg_nested = { + [](MyMessageType::Nested* message, unsigned int seed) { + TweakMyNestedMessage(message, seed); + }}; +DEFINE_PROTO_FUZZER(const MyMessageType& input) { // Code which needs to be fuzzed. ConsumeMyMessageType(input); } @@ -142,6 +142,14 @@ string should be UTF-8, however only "proto3" enforces that. So if fuzzer is applied to "proto2" type libprotobuf-mutator will generate any strings including invalid UTF-8. If it's a "proto3" message type, only valid UTF-8 will be used. +## Extensions +Currently the library does not mutate +[extensions](https://developers.google.com/protocol-buffers/docs/proto#extensions). +This can be a problem if extension contains required fields so the library will not +be able to change the message into valid initialized state. +You can use [post processing hooks](#mutation-post-processing-experimental) to +cleanup/initialize the message as workaround. + ## Users of the library * [Chromium](https://cs.chromium.org/search/?q=DEFINE_.*._PROTO_FUZZER%5C\() * [Envoy](https://github.com/envoyproxy/envoy/search?q=DEFINE_TEXT_PROTO_FUZZER+OR+DEFINE_PROTO_FUZZER+OR+DEFINE_BINARY_PROTO_FUZZER&unscoped_q=DEFINE_TEXT_PROTO_FUZZER+OR+DEFINE_PROTO_FUZZER+OR+DEFINE_BINARY_PROTO_FUZZER&type=Code) |