diff --git a/util/RE.c++ b/util/RE.c++ index 77150e8..6a11b1c 100644 --- a/util/RE.c++ +++ b/util/RE.c++ @@ -77,8 +77,13 @@ RE::Find(const char* text, u_int length, u_int off) else { matches[0].rm_so = off; matches[0].rm_eo = length; - execResult = regexec(&c_pattern, text, c_pattern.re_nsub+1, - matches, REG_STARTEND); + char newtext[length-off+1]; + strncpy(newtext,&text[off],length-off); + newtext[length-off]='\0'; + execResult = regexec(&c_pattern, newtext, c_pattern.re_nsub+1, + matches, 0x0); + for (int j=0;j