forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit1a3daa5
committed
Add some recursion and looping defenses in prepjointree.c.
Andrey Lepikhov demonstrated a case where we spend an unreasonableamount of time in pull_up_subqueries(). Not only is that recursingwith no explicit check for stack overrun, but the code seems notinterruptable by control-C. Let's stick a CHECK_FOR_INTERRUPTSthere, along with sprinkling some stack depth checks.An actual fix for the excessive time consumption seems a bitrisky to back-patch; but this isn't, so let's do so.Discussion:https://postgr.es/m/703c09a2-08f3-d2ec-b33d-dbecd62428b8@postgrespro.ru1 parentb87037b commit1a3daa5
1 file changed
+12
-0
lines changedLines changed: 12 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
27 | 27 |
| |
28 | 28 |
| |
29 | 29 |
| |
| 30 | + | |
30 | 31 |
| |
31 | 32 |
| |
32 | 33 |
| |
| |||
315 | 316 |
| |
316 | 317 |
| |
317 | 318 |
| |
| 319 | + | |
| 320 | + | |
| 321 | + | |
318 | 322 |
| |
319 | 323 |
| |
320 | 324 |
| |
| |||
812 | 816 |
| |
813 | 817 |
| |
814 | 818 |
| |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
815 | 824 |
| |
816 | 825 |
| |
817 | 826 |
| |
| |||
1941 | 1950 |
| |
1942 | 1951 |
| |
1943 | 1952 |
| |
| 1953 | + | |
| 1954 | + | |
| 1955 | + | |
1944 | 1956 |
| |
1945 | 1957 |
| |
1946 | 1958 |
| |
|
0 commit comments
Comments
(0)