summaryrefslogtreecommitdiff
path: root/dev-python/ujson/files/ujson-1.35-sort_keys-segfault.patch
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [master] <gitlab@liguros.net>2021-03-01 00:37:58 +0000
committerLiguros - Gitlab CI/CD [master] <gitlab@liguros.net>2021-03-01 00:37:58 +0000
commit8ddb1a3d1229412a438971f82d37d518a0223726 (patch)
tree83438b5ddb9d23a390f1a3fc505303d3d2223bf2 /dev-python/ujson/files/ujson-1.35-sort_keys-segfault.patch
parent9acab46e1a820daece7b2e631485c157ce2210ad (diff)
downloadbaldeagleos-repo-21.1.5.tar.gz
baldeagleos-repo-21.1.5.tar.xz
baldeagleos-repo-21.1.5.zip
Adding metadatav21.1.5
Diffstat (limited to 'dev-python/ujson/files/ujson-1.35-sort_keys-segfault.patch')
-rw-r--r--dev-python/ujson/files/ujson-1.35-sort_keys-segfault.patch73
1 files changed, 0 insertions, 73 deletions
diff --git a/dev-python/ujson/files/ujson-1.35-sort_keys-segfault.patch b/dev-python/ujson/files/ujson-1.35-sort_keys-segfault.patch
deleted file mode 100644
index 7239bca3e238..000000000000
--- a/dev-python/ujson/files/ujson-1.35-sort_keys-segfault.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-commit 870ee48fe109c289033cd0b7543b6f5ea4e6f128
-Author: Joakim Hamren <joakim.hamren@gmail.com>
-Date: Sat Feb 4 01:07:52 2017 +0100
-
- Fixes for sort_keys bug and a typo.
-
- - Fixed segfault when using sort_keys=True on dict with unorderable keys (GH247)
-
- - Fixed refcount becoming negative when using sort_keys=True (GH243)
-
- - Fixed compile error when defining JSON_NO_EXTRA_WHITESPACE
- caused by a wrongly named variable. (GH245)
-
-diff --git a/lib/ultrajsonenc.c b/lib/ultrajsonenc.c
-index cb10024..1bfa8f4 100644
---- a/lib/ultrajsonenc.c
-+++ b/lib/ultrajsonenc.c
-@@ -717,7 +717,7 @@ static void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t c
- {
- const char *value;
- char *objName;
-- int count;
-+ int count, res;
- JSOBJ iterObj;
- size_t szlen;
- JSONTypeContext tc;
-@@ -796,7 +796,7 @@ static void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t c
- {
- Buffer_AppendCharUnchecked (enc, ',');
- #ifndef JSON_NO_EXTRA_WHITESPACE
-- Buffer_AppendCharUnchecked (buffer, ' ');
-+ Buffer_AppendCharUnchecked (enc, ' ');
- #endif
- Buffer_AppendIndentNewlineUnchecked (enc);
- }
-@@ -823,8 +823,16 @@ static void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t c
- Buffer_AppendCharUnchecked (enc, '{');
- Buffer_AppendIndentNewlineUnchecked (enc);
-
-- while (enc->iterNext(obj, &tc))
-+ while ((res = enc->iterNext(obj, &tc)))
- {
-+ if(res < 0)
-+ {
-+ enc->iterEnd(obj, &tc);
-+ enc->endTypeContext(obj, &tc);
-+ enc->level--;
-+ return;
-+ }
-+
- if (count > 0)
- {
- Buffer_AppendCharUnchecked (enc, ',');
-diff --git a/python/objToJSON.c b/python/objToJSON.c
-index 1960d40..8133fb5 100644
---- a/python/objToJSON.c
-+++ b/python/objToJSON.c
-@@ -537,6 +537,7 @@ static int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc)
- // Sort the list.
- if (PyList_Sort(items) < 0)
- {
-+ PyErr_SetString(PyExc_ValueError, "unorderable keys");
- goto error;
- }
-
-@@ -607,7 +608,6 @@ static void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- GET_TC(tc)->itemName = NULL;
- GET_TC(tc)->itemValue = NULL;
-- Py_DECREF(GET_TC(tc)->newObj);
- Py_DECREF(GET_TC(tc)->dictObj);
- PRINTMARK();
- }