]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix a few places that were non-multibyte-safe in tsearch configuration file
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 19 Jun 2008 16:52:31 +0000 (16:52 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 19 Jun 2008 16:52:31 +0000 (16:52 +0000)
parsing.  Per bug #4253 from Giorgio Valoti.

src/backend/tsearch/spell.c
src/backend/tsearch/ts_utils.c

index 2cfc7ea7a33162dcaaa80d3d33700ad13aa712d8..f21143feb083fed8f1872c79813fb6802f9dec28 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/tsearch/spell.c,v 1.11.2.1 2008/06/18 20:55:49 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/tsearch/spell.c,v 1.11.2.2 2008/06/19 16:52:31 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -509,7 +509,7 @@ static void
 addFlagValue(IspellDict *Conf, char *s, uint32 val)
 {
        while (*s && t_isspace(s))
-               s++;
+               s += pg_mblen(s);
 
        if (!*s)
                ereport(ERROR,
@@ -595,7 +595,7 @@ NIImportOOAffixes(IspellDict *Conf, const char *filename)
                        char       *s = recoded + strlen("FLAG");
 
                        while (*s && t_isspace(s))
-                               s++;
+                               s += pg_mblen(s);
 
                        if (*s && STRNCMP(s, "default") != 0)
                                ereport(ERROR,
@@ -729,9 +729,9 @@ NIImportAffixes(IspellDict *Conf, const char *filename)
                                s = recoded + (s - pstr);               /* we need non-lowercased
                                                                                                 * string */
                                while (*s && !t_isspace(s))
-                                       s++;
+                                       s += pg_mblen(s);
                                while (*s && t_isspace(s))
-                                       s++;
+                                       s += pg_mblen(s);
 
                                if (*s && pg_mblen(s) == 1)
                                {
@@ -762,7 +762,7 @@ NIImportAffixes(IspellDict *Conf, const char *filename)
                        flagflags = 0;
 
                        while (*s && t_isspace(s))
-                               s++;
+                               s += pg_mblen(s);
                        oldformat = true;
 
                        /* allow only single-encoded flags */
index 673b819516404cb9afaa99ecebccc9eaf6ad79ca..39bf6f78d999cc9e872022b54ed56e95913be480 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/tsearch/ts_utils.c,v 1.9.2.1 2008/06/18 20:55:49 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/tsearch/ts_utils.c,v 1.9.2.2 2008/06/19 16:52:31 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -97,7 +97,7 @@ readstoplist(const char *fname, StopList *s, char *(*wordop) (const char *))
 
                        /* Trim trailing space */
                        while (*pbuf && !t_isspace(pbuf))
-                               pbuf++;
+                               pbuf += pg_mblen(pbuf);
                        *pbuf = '\0';
 
                        /* Skip empty lines */