diff options
author | Teodor Sigaev <teodor@sigaev.ru> | 2009-01-29 16:22:10 +0000 |
---|---|---|
committer | Teodor Sigaev <teodor@sigaev.ru> | 2009-01-29 16:22:10 +0000 |
commit | b5b3134813a089ee84d0b068c1781ebfb2a63ec6 (patch) | |
tree | 583e3ecaf5d009acbe34e98aa05dcad6d07f2c6c /src | |
parent | 7adbd7665585584b0b9e1abfcc5548da6a406af6 (diff) | |
download | postgresql-b5b3134813a089ee84d0b068c1781ebfb2a63ec6.tar.gz postgresql-b5b3134813a089ee84d0b068c1781ebfb2a63ec6.zip |
Fix incorrect dereferencing of char* to array's index.
Per Tommy Gildseth <tommy.gildseth@usit.uio.no> report
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/tsearch/spell.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/backend/tsearch/spell.c b/src/backend/tsearch/spell.c index ee908496f3c..71a77a1dcc2 100644 --- a/src/backend/tsearch/spell.c +++ b/src/backend/tsearch/spell.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/tsearch/spell.c,v 1.14 2009/01/01 17:23:48 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/tsearch/spell.c,v 1.15 2009/01/29 16:22:10 teodor Exp $ * *------------------------------------------------------------------------- */ @@ -521,7 +521,7 @@ addFlagValue(IspellDict *Conf, char *s, uint32 val) (errcode(ERRCODE_CONFIG_FILE_ERROR), errmsg("multibyte flag character is not allowed"))); - Conf->flagval[(unsigned int) *s] = (unsigned char) val; + Conf->flagval[*(unsigned char*) s] = (unsigned char) val; Conf->usecompound = true; } @@ -654,7 +654,7 @@ NIImportOOAffixes(IspellDict *Conf, const char *filename) ptr = repl + (ptr - prepl) + 1; while (*ptr) { - aflg |= Conf->flagval[(unsigned int) *ptr]; + aflg |= Conf->flagval[*(unsigned char*) ptr]; ptr++; } } @@ -735,7 +735,7 @@ NIImportAffixes(IspellDict *Conf, const char *filename) if (*s && pg_mblen(s) == 1) { - Conf->flagval[(unsigned int) *s] = FF_COMPOUNDFLAG; + Conf->flagval[*(unsigned char*) s] = FF_COMPOUNDFLAG; Conf->usecompound = true; } oldformat = true; @@ -791,7 +791,7 @@ NIImportAffixes(IspellDict *Conf, const char *filename) (errcode(ERRCODE_CONFIG_FILE_ERROR), errmsg("multibyte flag character is not allowed"))); - flag = (unsigned char) *s; + flag = *(unsigned char*) s; goto nextline; } if (STRNCMP(recoded, "COMPOUNDFLAG") == 0 || STRNCMP(recoded, "COMPOUNDMIN") == 0 || @@ -851,7 +851,7 @@ makeCompoundFlags(IspellDict *Conf, int affix) while (str && *str) { - flag |= Conf->flagval[(unsigned int) *str]; + flag |= Conf->flagval[*(unsigned char*) str]; str++; } |