M
MichaelPyles
Using IIS 5.1, XP, dev studio 2003, ASP
I've discovered an insidious bug with the VBScript Regular Expression
object. I set the pattern to consist of the set of invalid filename
characters plus comma. I set global property to true then do a replace on a
SID. The Replace does nothing. However, if I attach the C++ (dev studio
2003) debugger to the IIS host process (dllhost.exe), every time I call
RegExp.Replace, the stack for one of the process's threads gets scrambled.
It ends up with the value 0x00000001 at the top of the stack! If your
debugger is set to stop on access violations, it always catches one (invalid
read trying to delete). The problem is insidious because, without the
debugger running, you would never know this is happening. ASP returns no
error. Potentially this could wreak havoc on your web application and cause
bizarre failures later on. Has anyone else run into this one? It seems to
happen only with the Replace method.
I've discovered an insidious bug with the VBScript Regular Expression
object. I set the pattern to consist of the set of invalid filename
characters plus comma. I set global property to true then do a replace on a
SID. The Replace does nothing. However, if I attach the C++ (dev studio
2003) debugger to the IIS host process (dllhost.exe), every time I call
RegExp.Replace, the stack for one of the process's threads gets scrambled.
It ends up with the value 0x00000001 at the top of the stack! If your
debugger is set to stop on access violations, it always catches one (invalid
read trying to delete). The problem is insidious because, without the
debugger running, you would never know this is happening. ASP returns no
error. Potentially this could wreak havoc on your web application and cause
bizarre failures later on. Has anyone else run into this one? It seems to
happen only with the Replace method.