https://bugs.exim.org/show_bug.cgi?id=1803
--- Comment #37 from Zoltan Herczeg <[email protected]> --- > 0x00007ffff799b6f9 <_pcre_jit_exec+329>: testb $0x20,(%rbx) > 0x00007ffff799b6fc <_pcre_jit_exec+332>: je 0x7ffff799b70a > <_pcre_jit_exec+346> > 0x00007ffff799b6fe <_pcre_jit_exec+334>: mov 0x30(%rbx),%rdx > 0x00007ffff799b702 <_pcre_jit_exec+338>: mov 0x30(%rsp),%rcx > 0x00007ffff799b707 <_pcre_jit_exec+343>: mov %rcx,(%rdx) > => 0x00007ffff799b70a <_pcre_jit_exec+346>: mov 0x58(%rsp),%rbx > 0x00007ffff799b70f <_pcre_jit_exec+351>: xor %fs:0x28,%rbx > 0x00007ffff799b718 <_pcre_jit_exec+360>: jne 0x7ffff799b761 gdb usually stops after the write, so this is likely the offending instruction: mov %rcx,(%rdx) It is hard to tell the corresponding source code from the assembly but I think it is the following source code: if ((extra_data->flags & PCRE_EXTRA_MARK) != 0) *(extra_data->mark) = arguments.mark_ptr; Could you check that PCRE_EXTRA_MARK is set in extra_data->flags? And please also check where the extra_data->mark points. PCRE_EXTRA_MARK is 0x20 And there is the comparison with 0x20 just before the overwrite: testb $0x20,(%rbx). -- You are receiving this mail because: You are on the CC list for the bug. -- ## List details at https://lists.exim.org/mailman/listinfo/pcre-dev
