diff options
author | serg@serg.mylan <> | 2004-10-25 10:23:38 +0200 |
---|---|---|
committer | serg@serg.mylan <> | 2004-10-25 10:23:38 +0200 |
commit | fb232f7e540b8b339b5a36358cad3d16f8cd7a2f (patch) | |
tree | 97f460137216dbaaa0ae09e7bd5a758fabe26c70 /myisam | |
parent | b7a8cce4eb337e348cecc91ae4b82d034eefd7c0 (diff) | |
download | mariadb-git-fb232f7e540b8b339b5a36358cad3d16f8cd7a2f.tar.gz |
don't hang if the text contains illegal characters
Diffstat (limited to 'myisam')
-rw-r--r-- | myisam/ft_parser.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/myisam/ft_parser.c b/myisam/ft_parser.c index b0fe180d0fb..543cf998a82 100644 --- a/myisam/ft_parser.c +++ b/myisam/ft_parser.c @@ -174,7 +174,7 @@ byte ft_simple_get_word(CHARSET_INFO *cs, byte **start, byte *end, FT_WORD *word) { byte *doc= *start; - uint mwc, length; + uint mwc, length, mbl; DBUG_ENTER("ft_simple_get_word"); while (doc<end) @@ -185,7 +185,7 @@ byte ft_simple_get_word(CHARSET_INFO *cs, byte **start, byte *end, } mwc= length= 0; - for (word->pos=doc; doc<end; length++, doc+=my_mbcharlen(cs, *(uchar *)doc)) + for (word->pos=doc; doc<end; length++, mbl=my_mbcharlen(cs, *(uchar *)doc), doc+=(mbl ? mbl : 1)) if (true_word_char(cs,*doc)) mwc= 0; else if (!misc_word_char(*doc) || mwc++) |