diff options
author | 2021-04-19 14:41:13 +0200 | |
---|---|---|
committer | 2021-04-19 08:41:13 -0400 | |
commit | b5f9c8d96392f827995e687a9aa207edafde0f7e (patch) | |
tree | 7ad810cd99f1b0dab33249c308b8d8a492616ab3 /projects/json-patch/fuzz_decode_apply.go | |
parent | 42cc558940fd3cc9f1d1e14f1440fe1a11b178cd (diff) |
Adds go json-patch project (#5627)
Diffstat (limited to 'projects/json-patch/fuzz_decode_apply.go')
-rw-r--r-- | projects/json-patch/fuzz_decode_apply.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/projects/json-patch/fuzz_decode_apply.go b/projects/json-patch/fuzz_decode_apply.go new file mode 100644 index 00000000..31595580 --- /dev/null +++ b/projects/json-patch/fuzz_decode_apply.go @@ -0,0 +1,25 @@ +package jsonpatch + +import ( + "bytes" +) + +func FuzzDecodeApply(data []byte) int { + s := bytes.Split(data, []byte{0}) + if len(s) != 2 { + return 0 + } + patchJSON := s[0] + original := s[1] + + patch, err := DecodePatch(patchJSON) + if err != nil { + return 0 + } + + _, err = patch.Apply(original) + if err != nil { + return 0 + } + return 1 +} |