Merge pull request #68442 from CaoShuFeng/json-patch
vendor: bump github.com/evanphx/json-patch
This commit is contained in:
2
vendor/github.com/evanphx/json-patch/README.md
generated
vendored
2
vendor/github.com/evanphx/json-patch/README.md
generated
vendored
@@ -15,7 +15,7 @@ go get -u github.com/evanphx/json-patch
|
||||
```
|
||||
|
||||
**Stable Versions**:
|
||||
* Version 3: `go get -u gopkg.in/evanphx/json-patch.v3`
|
||||
* Version 4: `go get -u gopkg.in/evanphx/json-patch.v4`
|
||||
|
||||
(previous versions below `v3` are unavailable)
|
||||
|
||||
|
23
vendor/github.com/evanphx/json-patch/patch.go
generated
vendored
23
vendor/github.com/evanphx/json-patch/patch.go
generated
vendored
@@ -236,7 +236,7 @@ func (o operation) path() string {
|
||||
}
|
||||
|
||||
func (o operation) from() string {
|
||||
if obj, ok := o["from"]; ok && obj != nil{
|
||||
if obj, ok := o["from"]; ok && obj != nil {
|
||||
var op string
|
||||
|
||||
err := json.Unmarshal(*obj, &op)
|
||||
@@ -389,17 +389,13 @@ func (d *partialArray) add(key string, val *lazyNode) error {
|
||||
|
||||
cur := *d
|
||||
|
||||
if idx < 0 {
|
||||
idx *= -1
|
||||
|
||||
if idx > len(ary) {
|
||||
return fmt.Errorf("Unable to access invalid index: %d", idx)
|
||||
}
|
||||
idx = len(ary) - idx
|
||||
}
|
||||
if idx < 0 || idx >= len(ary) || idx > len(cur) {
|
||||
if idx < -len(ary) || idx >= len(ary) {
|
||||
return fmt.Errorf("Unable to access invalid index: %d", idx)
|
||||
}
|
||||
|
||||
if idx < 0 {
|
||||
idx += len(ary)
|
||||
}
|
||||
copy(ary[0:idx], cur[0:idx])
|
||||
ary[idx] = val
|
||||
copy(ary[idx+1:], cur[idx:])
|
||||
@@ -430,9 +426,12 @@ func (d *partialArray) remove(key string) error {
|
||||
|
||||
cur := *d
|
||||
|
||||
if idx >= len(cur) {
|
||||
if idx < -len(cur) || idx >= len(cur) {
|
||||
return fmt.Errorf("Unable to remove invalid index: %d", idx)
|
||||
}
|
||||
if idx < 0 {
|
||||
idx += len(cur)
|
||||
}
|
||||
|
||||
ary := make([]*lazyNode, len(cur)-1)
|
||||
|
||||
@@ -535,6 +534,8 @@ func (p Patch) test(doc *container, op operation) error {
|
||||
return nil
|
||||
}
|
||||
return fmt.Errorf("Testing value %s failed", path)
|
||||
} else if op.value() == nil {
|
||||
return fmt.Errorf("Testing value %s failed", path)
|
||||
}
|
||||
|
||||
if val.equal(op.value()) {
|
||||
|
Reference in New Issue
Block a user