diff options
author | Teodor Sigaev | 2006-12-04 09:26:57 +0000 |
---|---|---|
committer | Teodor Sigaev | 2006-12-04 09:26:57 +0000 |
commit | 6cd9a58480e37e11adf7fa7d406ba118d2a7e4e5 (patch) | |
tree | cd8a36fe696e7e16cba4cdd4ae190db6b513b0bb | |
parent | 8dcc8e376149adcfba012a9e9b7b0692bcbff9a2 (diff) |
Fix core dump of ispell for case of non-successfull initialization.
Previous versions aren't affected.
Fix synonym dictionary init: string should be malloc'ed, not palloc'ed. Bug
introduced recently while fixing lowerstr().
-rw-r--r-- | contrib/tsearch2/dict_syn.c | 6 | ||||
-rw-r--r-- | contrib/tsearch2/ispell/spell.c | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/contrib/tsearch2/dict_syn.c b/contrib/tsearch2/dict_syn.c index cddbd473508..05cb1102502 100644 --- a/contrib/tsearch2/dict_syn.c +++ b/contrib/tsearch2/dict_syn.c @@ -1,4 +1,4 @@ -/* $PostgreSQL: pgsql/contrib/tsearch2/dict_syn.c,v 1.10 2006/11/20 14:03:30 teodor Exp $ */ +/* $PostgreSQL: pgsql/contrib/tsearch2/dict_syn.c,v 1.11 2006/12/04 09:26:57 teodor Exp $ */ /* * ISpell interface @@ -132,8 +132,8 @@ syn_init(PG_FUNCTION_ARGS) continue; *end = '\0'; - d->syn[cur].in = lowerstr(starti); - d->syn[cur].out = lowerstr(starto); + d->syn[cur].in = strdup(lowerstr(starti)); + d->syn[cur].out = strdup(lowerstr(starto)); if (!(d->syn[cur].in && d->syn[cur].out)) { fclose(fin); diff --git a/contrib/tsearch2/ispell/spell.c b/contrib/tsearch2/ispell/spell.c index 66ccca4d07c..c14012a6e73 100644 --- a/contrib/tsearch2/ispell/spell.c +++ b/contrib/tsearch2/ispell/spell.c @@ -1528,7 +1528,7 @@ NIFree(IspellDict * Conf) if (Conf->Spell) { for (i = 0; i < Conf->nspell; i++) - pfree(Conf->Spell[i]->word); + pfree(Conf->Spell[i]); pfree(Conf->Spell); } |