summaryrefslogtreecommitdiffstats
path: root/0654240f24f6f619074c205462dbefe9b175c122.patch
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2019-12-02 12:51:10 +0100
committerRemi Collet <remi@remirepo.net>2019-12-02 12:51:10 +0100
commit094327b12b62cf33f8b00935a03767455f1811e8 (patch)
tree9b8aa5c45693741c3557917f552d877a3f5d908d /0654240f24f6f619074c205462dbefe9b175c122.patch
parentc7a324bd6e7fa7f311a94130fa27144ae7af5ac7 (diff)
v2.8.1
Diffstat (limited to '0654240f24f6f619074c205462dbefe9b175c122.patch')
-rw-r--r--0654240f24f6f619074c205462dbefe9b175c122.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/0654240f24f6f619074c205462dbefe9b175c122.patch b/0654240f24f6f619074c205462dbefe9b175c122.patch
new file mode 100644
index 0000000..1eb280e
--- /dev/null
+++ b/0654240f24f6f619074c205462dbefe9b175c122.patch
@@ -0,0 +1,46 @@
+From 0654240f24f6f619074c205462dbefe9b175c122 Mon Sep 17 00:00:00 2001
+From: Derick Rethans <github@derickrethans.nl>
+Date: Sat, 30 Nov 2019 17:23:53 +0000
+Subject: [PATCH] Fix key generation on 32 bit platforms
+
+---
+ xdebug_code_coverage.c | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
+
+diff --git a/xdebug_code_coverage.c b/xdebug_code_coverage.c
+index d7a2027fe..bd2a5f343 100644
+--- a/xdebug_code_coverage.c
++++ b/xdebug_code_coverage.c
+@@ -1047,18 +1047,28 @@ static int prefill_from_function_table(zend_op_array *opa)
+ return ZEND_HASH_APPLY_KEEP;
+ }
+
++/* Set correct int format to use */
++#if SIZEOF_ZEND_LONG == 4
++# define XDEBUG_PTR_KEY_LEN 8
++# define XDEBUG_PTR_KEY_FMT "%08X"
++#else
++# define XDEBUG_PTR_KEY_LEN 16
++# define XDEBUG_PTR_KEY_FMT "%016lX"
++#endif
++
++
+ static int mark_class_as_visited(zend_class_entry *ce)
+ {
+ int already_visited = 0;
+ void *dummy; /* we only care about key existence, not value */
+- char key[17];
++ char key[XDEBUG_PTR_KEY_LEN + 1];
+
+- snprintf(key, 17, "%016lX", (uintptr_t) ce);
++ snprintf(key, XDEBUG_PTR_KEY_LEN + 1, XDEBUG_PTR_KEY_FMT, (uintptr_t) ce);
+
+- if (xdebug_hash_find(XG(visited_classes), key, 16, (void*) &dummy)) {
++ if (xdebug_hash_find(XG(visited_classes), key, XDEBUG_PTR_KEY_LEN, (void*) &dummy)) {
+ already_visited = 1;
+ } else {
+- xdebug_hash_add(XG(visited_classes), key, 16, NULL);
++ xdebug_hash_add(XG(visited_classes), key, XDEBUG_PTR_KEY_LEN, NULL);
+ }
+
+ return already_visited;