aboutsummaryrefslogtreecommitdiff
path: root/projects/json-patch/fuzz_decode_apply.go
blob: 315955804faf414cd3cb93b7a7bb012a12aab0d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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
}