From: Teodor Sigaev Date: Mon, 4 Dec 2006 09:26:57 +0000 (+0000) Subject: Fix core dump of ispell for case of non-successfull initialization. X-Git-Tag: REL8_3_BETA1~1726 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6cd9a58480e37e11adf7fa7d406ba118d2a7e4e5;p=postgresql 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(). --- diff --git a/contrib/tsearch2/dict_syn.c b/contrib/tsearch2/dict_syn.c index cddbd47350..05cb110250 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 66ccca4d07..c14012a6e7 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); }