From: Joe Conway Date: Mon, 2 Jan 2017 22:12:38 +0000 (-0800) Subject: ilence compiler warnings X-Git-Tag: REL9_2_20~29 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fce04516ec5e34dcad18d1dc60e1373a292c218e;p=postgresql ilence compiler warnings In GetCachedPlan(), initialize 'plan' to silence a compiler warning, but also add an Assert() to make sure we don't ever actually fall through with 'plan' still being set to NULL, since we are about to dereference it. Back-patch back to 9.2. Author: Stephen Frost Discussion: https://postgr.es/m/20161129152102.GR13284%40tamriel.snowman.net --- diff --git a/src/backend/utils/cache/plancache.c b/src/backend/utils/cache/plancache.c index 09079e22f2..e8f17d1c8f 100644 --- a/src/backend/utils/cache/plancache.c +++ b/src/backend/utils/cache/plancache.c @@ -1093,7 +1093,7 @@ CachedPlan * GetCachedPlan(CachedPlanSource *plansource, ParamListInfo boundParams, bool useResOwner) { - CachedPlan *plan; + CachedPlan *plan = NULL; List *qlist; bool customplan; @@ -1175,6 +1175,8 @@ GetCachedPlan(CachedPlanSource *plansource, ParamListInfo boundParams, } } + Assert(plan != NULL); + /* Flag the plan as in use by caller */ if (useResOwner) ResourceOwnerEnlargePlanCacheRefs(CurrentResourceOwner);