From: Joe Conway Date: Mon, 2 Jan 2017 22:12:17 +0000 (-0800) Subject: Silence compiler warnings X-Git-Tag: REL9_4_11~29 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8cb9d01829825e55c5637db40f5cd0690111cf09;p=postgresql Silence 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 0ba20dc388..a7257e3a7f 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);