Skip to content

Commit 899f0d5

Browse files
remicolletm6w6
authored andcommitted
Fix incompatible pointer types
1 parent 8a6b0c7 commit 899f0d5

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

php_memcached.c

+7-3
Original file line numberDiff line numberDiff line change
@@ -933,17 +933,18 @@ zend_bool s_compress_value (php_memc_compression_type compression_type, zend_lon
933933

934934
case COMPRESSION_TYPE_ZLIB:
935935
{
936-
compressed_size = buffer_size;
936+
unsigned long cs = compressed_size = buffer_size;
937937

938938
if (compression_level < 0) {
939939
compression_level = 0;
940940
} else if (compression_level > 9) {
941941
compression_level = 9;
942942
}
943943

944-
int status = compress2((Bytef *) buffer, &compressed_size, (Bytef *) ZSTR_VAL(payload), ZSTR_LEN(payload), compression_level);
944+
int status = compress2((Bytef *) buffer, &cs, (Bytef *) ZSTR_VAL(payload), ZSTR_LEN(payload), compression_level);
945945

946946
if (status == Z_OK) {
947+
compressed_size = cs;
947948
compress_status = 1;
948949
compression_type_flag = MEMC_VAL_COMPRESSION_ZLIB;
949950
}
@@ -3751,7 +3752,10 @@ zend_string *s_decompress_value (const char *payload, size_t payload_len, uint32
37513752
decompress_status = ((length = fastlz_decompress(payload, payload_len, &buffer->val, buffer->len)) > 0);
37523753
}
37533754
else if (is_zlib) {
3754-
decompress_status = (uncompress((Bytef *) buffer->val, &buffer->len, (Bytef *)payload, payload_len) == Z_OK);
3755+
unsigned long ds = buffer->len;
3756+
3757+
decompress_status = (uncompress((Bytef *) buffer->val, &ds, (Bytef *)payload, payload_len) == Z_OK);
3758+
buffer->len = ds;
37553759
}
37563760

37573761
ZSTR_VAL(buffer)[stored_length] = '\0';

0 commit comments

Comments
 (0)