1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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';
|