Here's an infinite loop that will hang your machine

Don’t try running this code:

CREATE CURSOR test (name c(10),data m)


INSERT INTO test VALUES ("fred","test"+CHR(0)+" other stuff")

MODIFY MEMO data nowait

It creates an in memory table of 2 fields: a Character and a Memo field. It then inserts into the Memo field a string that looks like a hyperlink with a null terminator. An editor window is brought up to display the memo data.

The code to determine whether or not there is a hyperlink and it’s length is about 70 lines of code. It has to accommodate various forms of hyperlinks and double byte characters. It failed to handle the case where the hyperlink has a null terminator, and thus caused an infinite loop. This was very simple to fix.

One workaround is to use the _vfp.EditorOptions command to disable hyperlinks