mirror of
https://git.postgresql.org/git/postgresql.git
synced 2026-02-22 14:27:00 +08:00
Suppress new "may be used uninitialized" warning.
Various buildfarm members, having compilers like gcc 8.5 and 6.3, fail to deduce that text_substring() variable "E" is initialized if slice_size!=-1. This suppression approach quiets gcc 8.5; I did not reproduce the warning elsewhere. Back-patch to v14, like commit 9f4fd119b2cbb9a41ec0c19a8d6ec9b59b92c125. Reported-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/1157953.1771266105@sss.pgh.pa.us Backpatch-through: 14
This commit is contained in:
@ -665,14 +665,14 @@ text_substring(Datum str, int32 start, int32 length, bool length_not_specified)
|
||||
|
||||
if (length_not_specified) /* special case - get length to end of
|
||||
* string */
|
||||
slice_size = L1 = -1;
|
||||
E = slice_size = L1 = -1;
|
||||
else if (length < 0)
|
||||
{
|
||||
/* SQL99 says to throw an error for E < S, i.e., negative length */
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SUBSTRING_ERROR),
|
||||
errmsg("negative substring length not allowed")));
|
||||
slice_size = L1 = -1; /* silence stupider compilers */
|
||||
E = slice_size = L1 = -1; /* silence stupider compilers */
|
||||
}
|
||||
else if (pg_add_s32_overflow(S, length, &E))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user