forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit5beb788
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 parent73bb72f commit5beb788
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 |
| |
| |||
308 | 309 |
| |
309 | 310 |
| |
310 | 311 |
| |
| 312 | + | |
| 313 | + | |
| 314 | + | |
311 | 315 |
| |
312 | 316 |
| |
313 | 317 |
| |
| |||
805 | 809 |
| |
806 | 810 |
| |
807 | 811 |
| |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
808 | 817 |
| |
809 | 818 |
| |
810 | 819 |
| |
| |||
1937 | 1946 |
| |
1938 | 1947 |
| |
1939 | 1948 |
| |
| 1949 | + | |
| 1950 | + | |
| 1951 | + | |
1940 | 1952 |
| |
1941 | 1953 |
| |
1942 | 1954 |
| |
|
0 commit comments
Comments
(0)