diff options
author | Steve Bennett <steveb@workware.net.au> | 2011-12-07 18:05:57 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2011-12-08 11:15:39 +1000 |
commit | 073f7ec76c8a3836d7706d2b57df6efa6966fa39 (patch) | |
tree | 2cad8332b28df4cbdf25f1d0386c7425bcf16d97 /jimregexp.c | |
parent | 3542b58ddb8f84d9a0453b95f9ad2293eb21f5c7 (diff) | |
download | jimtcl-073f7ec76c8a3836d7706d2b57df6efa6966fa39.zip jimtcl-073f7ec76c8a3836d7706d2b57df6efa6966fa39.tar.gz jimtcl-073f7ec76c8a3836d7706d2b57df6efa6966fa39.tar.bz2 |
Fix a regexp infinite loop on bad utf-8 input
regsub {\mdnl\M.*$} "word \xA9 another word" "" line
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jimregexp.c')
-rw-r--r-- | jimregexp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/jimregexp.c b/jimregexp.c index e904db8..2f57caf 100644 --- a/jimregexp.c +++ b/jimregexp.c @@ -1132,7 +1132,10 @@ nextline: if (*s == '\0') { break; } - s += utf8_charlen(*s); + else { + int c; + s += utf8_tounicode(s, &c); + } } /* Failure. */ |