aboutsummaryrefslogtreecommitdiffstats
path: root/testing/py-ujson/lower-stack-usage.patch
diff options
context:
space:
mode:
authorShiz <hi@shiz.me>2017-08-17 14:32:29 +0200
committerShiz <hi@shiz.me>2017-08-17 14:32:29 +0200
commit0468bb139555cf879506ffaea3cb26bde14af8f1 (patch)
tree841eafd16ad98bef86ad5ec44c16c47258fba914 /testing/py-ujson/lower-stack-usage.patch
parent0ae19bfa6e9631b6fe58ac64dce044e9b8cf195f (diff)
downloadaports-0468bb139555cf879506ffaea3cb26bde14af8f1.tar.bz2
aports-0468bb139555cf879506ffaea3cb26bde14af8f1.tar.xz
testing/py-ujson: fix stack usage issue and add tests
Diffstat (limited to 'testing/py-ujson/lower-stack-usage.patch')
-rw-r--r--testing/py-ujson/lower-stack-usage.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/testing/py-ujson/lower-stack-usage.patch b/testing/py-ujson/lower-stack-usage.patch
new file mode 100644
index 0000000000..de3258cfde
--- /dev/null
+++ b/testing/py-ujson/lower-stack-usage.patch
@@ -0,0 +1,19 @@
+From: Shiz <hi@shiz.me>
+Bug-Report: https://github.com/esnme/ultrajson/issues/254
+
+musl default thread size is 80 kiB, so using 128 kiB by default will
+overflow the stack and cause segmentation faults.
+
+Allocating 128 kiB on the stack is a rather bad idea anyway, so we'll
+lower it to 8 kiB.
+--- ultrajson-1.35/lib/ultrajson.h
++++ ultrajson-1.35-patched/lib/ultrajson.h
+@@ -77,7 +77,7 @@
+ /*
+ Dictates and limits how much stack space for buffers UltraJSON will use before resorting to provided heap functions */
+ #ifndef JSON_MAX_STACK_BUFFER_SIZE
+-#define JSON_MAX_STACK_BUFFER_SIZE 131072
++#define JSON_MAX_STACK_BUFFER_SIZE 8192
+ #endif
+
+ #ifdef _WIN32