mirror of
https://github.com/json-c/json-c.git
synced 2026-11-08 06:30:17 +08:00
deep copy values in json_patch copy op to avoid aliasing and cycles
This commit is contained in:
1 parent
cce075f551
commit
5647679c0c
3 files changed
+28
-4
No files matched your search
@@ -535,6 +535,13 @@
|
||||
"doc": {"foo":"bar"},
|
||||
"patch": [{"op": "add", "path": "/FOO", "value": "BAR"}],
|
||||
"expected": {"foo": "bar", "FOO": "BAR"}
|
||||
},
|
||||
|
||||
{ "comment": "copy must duplicate the value, not alias it, so no cycle can form",
|
||||
"doc": {"a": {"p": {}}},
|
||||
"patch": [{"op": "copy", "from": "/a", "path": "/b"},
|
||||
{"op": "copy", "from": "/b", "path": "/a/p/x"}],
|
||||
"expected": {"a": {"p": {"x": {"p": {}}}}, "b": {"p": {}}}
|
||||
}
|
||||
|
||||
]
|
||||
Reference in new issue
Block a user