mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-15 08:20:16 +08:00
Prevent recursion during parse of email-like string with multiple '@'.
Patch by Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
This commit is contained in:
parent
b0c68c242c
commit
42831729f7
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/tsearch/wparser_def.c,v 1.21 2009/03/02 15:10:09 teodor Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/tsearch/wparser_def.c,v 1.22 2009/03/10 17:32:14 teodor Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -620,6 +620,8 @@ p_ishost(TParser *prs)
|
||||
TParser *tmpprs = TParserInit(prs->str + prs->state->posbyte, prs->lenstr - prs->state->posbyte);
|
||||
int res = 0;
|
||||
|
||||
tmpprs->wanthost = true;
|
||||
|
||||
if (TParserGet(tmpprs) && tmpprs->type == HOST)
|
||||
{
|
||||
prs->state->posbyte += tmpprs->lenbytetoken;
|
||||
@ -1070,6 +1072,7 @@ static const TParserStateActionItem actionTPS_InHost[] = {
|
||||
};
|
||||
|
||||
static const TParserStateActionItem actionTPS_InEmail[] = {
|
||||
{p_isstophost, 0, A_POP, TPS_Null, 0, NULL},
|
||||
{p_ishost, 0, A_BINGO | A_CLRALL, TPS_Base, EMAIL, NULL},
|
||||
{NULL, 0, A_POP, TPS_Null, 0, NULL}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user