1
0
mirror of https://github.com/postgres/postgres.git synced 2025-09-09 13:09:39 +03:00

Add recursion depth protection to LIKE matching.

Since MatchText() recurses, it could in principle be driven to stack
overflow, although quite a long pattern would be needed.
This commit is contained in:
Tom Lane
2015-10-02 15:00:51 -04:00
parent b63fc28776
commit 2e8cfcf4ea
2 changed files with 4 additions and 0 deletions

View File

@@ -83,6 +83,9 @@ MatchText(char *t, int tlen, char *p, int plen,
if (plen == 1 && *p == '%')
return LIKE_TRUE;
/* Since this function recurses, it could be driven to stack overflow */
check_stack_depth();
/*
* In this loop, we advance by char when matching wildcards (and thus on
* recursive entry to this function we are properly char-synced). On other