summaryrefslogtreecommitdiffstats
path: root/memcached-build.patch
diff options
context:
space:
mode:
Diffstat (limited to 'memcached-build.patch')
-rw-r--r--memcached-build.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/memcached-build.patch b/memcached-build.patch
new file mode 100644
index 0000000..2ce2cba
--- /dev/null
+++ b/memcached-build.patch
@@ -0,0 +1,41 @@
+Adapted for 3.7.0 from:
+
+From d226ee7d45538a853160d6e2264a56c121700775 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Tue, 30 Jan 2024 09:44:48 +0100
+Subject: [PATCH] Fix incompatible pointer types
+
+---
+ php_memcached.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/php_memcached.c b/php_memcached.c
+index 00d5e3d4..c3ef16e8 100644
+--- a/php_memcached.c
++++ b/php_memcached.c
+@@ -899,10 +899,11 @@ zend_bool s_compress_value (php_memc_com
+
+ case COMPRESSION_TYPE_ZLIB:
+ {
+- compressed_size = buffer_size;
+- int status = compress((Bytef *) buffer, &compressed_size, (Bytef *) ZSTR_VAL(payload), ZSTR_LEN(payload));
++ unsigned long cs = compressed_size = buffer_size;
++ int status = compress((Bytef *) buffer, &cs, (Bytef *) ZSTR_VAL(payload), ZSTR_LEN(payload));
+
+ if (status == Z_OK) {
++ compressed_size = cs;
+ compress_status = 1;
+ compression_type_flag = MEMC_VAL_COMPRESSION_ZLIB;
+ }
+@@ -3633,7 +3634,10 @@ zend_string *s_decompress_value (const c
+ decompress_status = ((length = fastlz_decompress(payload, payload_len, &buffer->val, buffer->len)) > 0);
+ }
+ else if (is_zlib) {
+- decompress_status = (uncompress((Bytef *) buffer->val, &buffer->len, (Bytef *)payload, payload_len) == Z_OK);
++ unsigned long ds = buffer->len;
++
++ decompress_status = (uncompress((Bytef *) buffer->val, &ds, (Bytef *)payload, payload_len) == Z_OK);
++ buffer->len = ds;
+ }
+
+ ZSTR_VAL(buffer)[stored_length] = '\0';