In my tests associated with this question, using LPWSTR psz as argument to f_FUNCTION, TCC did not catch my writing beyond the end of the buffer pointed to by psz (and TCC crashed). Should it have caught such an error?
I seem to recall this value changing from one version to another.... Even if you know for sure that it's 16K in the current release, it may well be smaller in older versions.
I have no idea what you're asking about -- what is "f_FUNCTION"?
If you're asking about the size of the buffer passed to a plugin function or command, it's 32K bytes (and always has been), regardless of whether it's a function or command.
TCC itself has no limits on string sizes, but I can't change it in the plugin calls without breaking every plugin in existence.
And no, TCC can't do anything about an ill-behaved plugin writing beyond the end of memory. There is no automagical way to uncorrupt a heap.
(And TCC didn't crash, your plugin did. If you neglected to include exception handling, you could take the TCC process down as well.)
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.