@@ -731,7 +731,7 @@ func Delete(data []byte, keys ...string) []byte {
731731 if ! array {
732732 if len (keys ) > 1 {
733733 _ , _ , startOffset , endOffset , err = internalGet (data , keys [:lk - 1 ]... )
734- if err == KeyPathNotFoundError {
734+ if err != nil {
735735 // problem parsing the data
736736 return data
737737 }
@@ -743,7 +743,11 @@ func Delete(data []byte, keys ...string) []byte {
743743 return data
744744 }
745745 keyOffset += startOffset
746- _ , _ , _ , subEndOffset , _ := internalGet (data [startOffset :endOffset ], keys [lk - 1 ])
746+ var subEndOffset int
747+ _ , _ , _ , subEndOffset , err = internalGet (data [startOffset :endOffset ], keys [lk - 1 ])
748+ if err != nil {
749+ return data
750+ }
747751 endOffset = startOffset + subEndOffset
748752 tokEnd := tokenEnd (data [endOffset :])
749753 tokStart := findTokenStart (data [:keyOffset ], "," [0 ])
@@ -757,7 +761,7 @@ func Delete(data []byte, keys ...string) []byte {
757761 }
758762 } else {
759763 _ , _ , keyOffset , endOffset , err = internalGet (data , keys ... )
760- if err == KeyPathNotFoundError {
764+ if err != nil {
761765 // problem parsing the data
762766 return data
763767 }
0 commit comments