1.1 --- a/core/smn_string.cpp Thu May 29 05:01:50 2008 +0000
1.2 +++ b/core/smn_string.cpp Thu May 29 05:39:29 2008 +0000
1.3 @@ -460,8 +460,12 @@
1.4 pContext->LocalToString(params[4], &replace);
1.5 maxlength = (size_t)params[2];
1.6
1.7 + if (search[0] == '\0')
1.8 + {
1.9 + return pContext->ThrowNativeError("Cannot replace searches of empty strings");
1.10 + }
1.11
1.12 - return UTIL_ReplaceAll(text, maxlength, search, replace);
1.13 + return UTIL_ReplaceAll(text, maxlength, search, replace);
1.14 }
1.15
1.16 static cell_t ReplaceStringEx(IPluginContext *pContext, const cell_t *params)
1.17 @@ -477,6 +481,11 @@
1.18 size_t searchLen = (params[5] == -1) ? strlen(search) : (size_t)params[5];
1.19 size_t replaceLen = (params[6] == -1) ? strlen(replace) : (size_t)params[6];
1.20
1.21 + if (searchLen == 0)
1.22 + {
1.23 + return pContext->ThrowNativeError("Cannot replace searches of empty strings");
1.24 + }
1.25 +
1.26 char *ptr = UTIL_ReplaceEx(text, maxlength, search, searchLen, replace, replaceLen);
1.27
1.28 if (ptr == NULL)