summaryrefslogtreecommitdiff
path: root/user/php7/pwbuflen.patch
diff options
context:
space:
mode:
Diffstat (limited to 'user/php7/pwbuflen.patch')
-rw-r--r--user/php7/pwbuflen.patch15
1 files changed, 15 insertions, 0 deletions
diff --git a/user/php7/pwbuflen.patch b/user/php7/pwbuflen.patch
new file mode 100644
index 000000000..7d2685b55
--- /dev/null
+++ b/user/php7/pwbuflen.patch
@@ -0,0 +1,15 @@
+sysconf(_SC_GETPW_R_SIZE_MAX) returns -1 on musl and 1024 on glibc.
+
+--- php-7.2.6/main/main.c 2018-06-04 23:30:18.790089810 -0400
++++ php-7.2.6/main/main.c 2018-06-04 23:30:14.660089806 -0400
+@@ -1315,7 +1315,9 @@
+ int pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);
+ char *pwbuf;
+
+- if (pwbuflen < 1) {
++ if (pwbuflen == -1) {
++ pwbuflen = 1024;
++ } else if (pwbuflen < 1) {
+ return "";
+ }
+ pwbuf = emalloc(pwbuflen);