I am seeing an access violation and programm crash running the following
script in pcretest, Win32:

/\Q\ \E/S++
  \x{20}\P

Can someone reproduce my findings?

Win64 works fine, by the way.

Ralf

----------

Error 00001. 0x130610 (Thread 0x0EC8):
Access overrun: Attempt to access 2 byte(s) at 0x020B7108+268482618, that is
 at offset 56+268482618 in heap block 0x020B70D0 which is only 69 bytes
long.
| pcre_jit_compile.c line 2915:
|
| /* We do not support alternatives now. */
|>if (*(common->start + GET(common->start, 1)) == OP_ALT)
|   return FALSE;
|
Call Tree:
   0x00467850(=pcretest.exe:0x01:066850) pcre_jit_compile.c#2915
   0x0053D08B(=pcretest.exe:0x01:13C08B) pcre_jit_compile.c#9127
   0x00543081(=pcretest.exe:0x01:142081) pcre_study.c#1506
   0x00550150(=pcretest.exe:0x01:14F150) pcretest.c#3976
   0x005621EB(=pcretest.exe:0x01:1611EB)

The memory block (0x020B70D0) [size: 69 bytes] was allocated with malloc
| pcre_compile.c line 8097:
|
| size = sizeof(REAL_PCRE) + (length + cd->names_found *
cd->name_entry_size) * sizeof(pcre_uchar);
|>re = (REAL_PCRE *)(PUBL(malloc))(size);
|
| if (re == NULL)
Call Tree:
   0x004E2212(=pcretest.exe:0x01:0E1212) pcre_compile.c#8097
   0x004E1661(=pcretest.exe:0x01:0E0661) pcre_compile.c#7744
   0x0054FDB3(=pcretest.exe:0x01:14EDB3) pcretest.c#3885
   0x005621EB(=pcretest.exe:0x01:1611EB)

------------------------------------------
Error 00002. 0x400000 (r) (Thread 0x0EC8):
Exception 0xC0000005: Access violation at 0x120C2942.
| pcre_jit_compile.c line 2915:
|
| /* We do not support alternatives now. */
|>if (*(common->start + GET(common->start, 1)) == OP_ALT)
|   return FALSE;
|
Call Tree:
   0x00467850(=pcretest.exe:0x01:066850) pcre_jit_compile.c#2915
   0x0053D08B(=pcretest.exe:0x01:13C08B) pcre_jit_compile.c#9127
   0x00543081(=pcretest.exe:0x01:142081) pcre_study.c#1506
   0x00550150(=pcretest.exe:0x01:14F150) pcretest.c#3976
   0x005621EB(=pcretest.exe:0x01:1611EB)

-- 
## List details at https://lists.exim.org/mailman/listinfo/pcre-dev 

Reply via email to