firtst release
Revision | 987abe50181f2950a5ee39908050f1d5a3139553 (tree) |
---|---|
Time | 2020-02-13 14:52:33 |
Author | Kyotaro Horiguchi <horikyota.ntt@gmai...> |
Commiter | Kyotaro Horiguchi |
Do null-check of error_context_stack before use
The variable is accessed without null checking when planner is called
in the context of pl/pgsql. Fix it. Back-patched up to pg_hint_plan94.
Reporter: egashira-yusuke
Issue: https://github.com/ossc-db/pg_hint_plan/issues/42
Original-Author: sun-wei <30999182+Dagouhan@users.noreply.github.com>
Original-patch: https://github.com/ossc-db/pg_hint_plan/pull/45/commits/8fe092ef73a9af6cfb41e20717d7cb35aa74fce2
@@ -3019,7 +3019,8 @@ pg_hint_plan_planner(Query *parse, int cursorOptions, ParamListInfo boundParams) | ||
3019 | 3019 | * Support for nested plpgsql functions. This is quite ugly but this is the |
3020 | 3020 | * only point I could find where I can get the query string. |
3021 | 3021 | */ |
3022 | - if (plpgsql_recurse_level > 0) | |
3022 | + if (plpgsql_recurse_level > 0 && | |
3023 | + error_context_stack && error_context_stack->arg) | |
3023 | 3024 | { |
3024 | 3025 | MemoryContext oldcontext; |
3025 | 3026 |