From: Tom Lane Date: Tue, 25 Nov 2014 20:16:49 +0000 (-0500) Subject: Fix uninitialized-variable warning. X-Git-Tag: REL9_5_ALPHA1~1146 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d934a052348c1fa017ff677d08e74c643e3f416c;p=postgresql Fix uninitialized-variable warning. In passing, add an Assert defending the presumption that bytes_left is positive to start with. (I'm not exactly convinced that using an unsigned type was such a bright thing here, but let's at least do this much.) --- diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index f04757c582..6b4db305e5 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -8741,9 +8741,10 @@ SerializeGUCState(Size maxsize, char *start_address) Size actual_size; Size bytes_left; int i; - int i_role; + int i_role = -1; /* Reserve space for saving the actual size of the guc state */ + Assert(maxsize > sizeof(actual_size)); curptr = start_address + sizeof(actual_size); bytes_left = maxsize - sizeof(actual_size); @@ -8759,7 +8760,8 @@ SerializeGUCState(Size maxsize, char *start_address) else serialize_variable(&curptr, &bytes_left, guc_variables[i]); } - serialize_variable(&curptr, &bytes_left, guc_variables[i_role]); + if (i_role >= 0) + serialize_variable(&curptr, &bytes_left, guc_variables[i_role]); /* Store actual size without assuming alignment of start_address. */ actual_size = maxsize - bytes_left - sizeof(actual_size);