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.)
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);
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);