Skip to content

Commit ef4d15e

Browse files
committed
Already subtract a pointer size from the checked area
1 parent bb68202 commit ef4d15e

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

ext/opcache/zend_persist.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ static void mem_checksum_skip_list_add(void *p, uint32_t checked_area_size, uint
9898
#endif
9999
zend_accel_skip_list_entry *entry = &ZCG(mem_checksum_skip_list)[ZCG(mem_checksum_skip_list_count)++];
100100
entry->offset = (char *) p - base_ptr;
101-
entry->checked_area_size = checked_area_size;
101+
entry->checked_area_size = checked_area_size - sizeof(char*);
102102
entry->repetitions = repetitions;
103103
}
104104

@@ -574,7 +574,7 @@ static void zend_persist_op_array_ex(zend_op_array *op_array, zend_persistent_sc
574574
#ifdef HAVE_JIT
575575
if (ZCG(mem_checksum_skip_list) && JIT_G(on)) {
576576
/* There is already one skip with 0 repetitions, so we have to subtract one */
577-
mem_checksum_skip_list_add(new_opcodes, sizeof(zend_op) - sizeof(op_array->opcodes[0].handler), op_array->last - 1);
577+
mem_checksum_skip_list_add(new_opcodes, sizeof(zend_op), op_array->last - 1);
578578
}
579579
#endif
580580

@@ -813,7 +813,7 @@ static void zend_persist_class_method(zval *zv, zend_class_entry *ce)
813813
op_array = Z_PTR_P(zv) = zend_shared_memdup_put(op_array, sizeof(zend_op_array));
814814
if (ZCG(mem_checksum_skip_list)) {
815815
/* There is already one skip with 0 repetitions, so we have to subtract one */
816-
mem_checksum_skip_list_add(&op_array->reserved, 0, sizeof(op_array->reserved) / sizeof(op_array->reserved[0]) - 1);
816+
mem_checksum_skip_list_add(&op_array->reserved, sizeof(char*), sizeof(op_array->reserved) / sizeof(op_array->reserved[0]) - 1);
817817
}
818818
zend_persist_op_array_ex(op_array, NULL);
819819
if (ce->ce_flags & ZEND_ACC_IMMUTABLE) {

0 commit comments

Comments
 (0)