aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergey Uzhakov <uzhastik@gmail.com>2022-04-29 19:59:07 +0300
committerSergey Uzhakov <uzhastik@gmail.com>2022-04-29 19:59:07 +0300
commitdb6e84f52792f8ca65acdff03ea8f7f8b522da8b (patch)
tree1a3e6f52ca6e915f33c8f1e0a2ca335d9da06547
parentc4c92365eb01dc2d236f5de5d86ab57a48aa47ed (diff)
downloadydb-db6e84f52792f8ca65acdff03ea8f7f8b522da8b.tar.gz
CLOUD-95996: fix several coverity issues, v2
ref:40a471897bc5593b9033f287796e2c7f3ac85209
-rw-r--r--ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/access/transam/timeline.c1
-rw-r--r--ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/access/transam/twophase.c1
-rw-r--r--ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/storage/ipc/standby.c1
-rw-r--r--ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/utils/mmgr/dsa.c8
-rw-r--r--ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/utils/sort/tuplesort.c4
5 files changed, 14 insertions, 1 deletions
diff --git a/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/access/transam/timeline.c b/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/access/transam/timeline.c
index 8d0903c175..8f6c097cb5 100644
--- a/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/access/transam/timeline.c
+++ b/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/access/transam/timeline.c
@@ -405,6 +405,7 @@ writeTimeLineHistory(TimeLineID newTLI, TimeLineID parentTLI,
LSN_FORMAT_ARGS(switchpoint),
reason);
+ buffer[BLCKSZ - 1] = 0;
nbytes = strlen(buffer);
errno = 0;
pgstat_report_wait_start(WAIT_EVENT_TIMELINE_HISTORY_WRITE);
diff --git a/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/access/transam/twophase.c b/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/access/transam/twophase.c
index 92f51c7885..553334807d 100644
--- a/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/access/transam/twophase.c
+++ b/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/access/transam/twophase.c
@@ -1074,6 +1074,7 @@ StartPrepare(GlobalTransaction gxact)
&hdr.initfileinval);
hdr.gidlen = strlen(gxact->gid) + 1; /* Include '\0' */
hdr.origin_lsn = 0;
+ hdr.origin_timestamp = 0;
save_state_data(&hdr, sizeof(TwoPhaseFileHeader));
save_state_data(gxact->gid, hdr.gidlen);
diff --git a/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/storage/ipc/standby.c b/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/storage/ipc/standby.c
index 05c4e5e7ef..9d61da319e 100644
--- a/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/storage/ipc/standby.c
+++ b/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/storage/ipc/standby.c
@@ -651,6 +651,7 @@ ResolveRecoveryConflictWithLock(LOCKTAG locktag, bool logging_conflict)
timeouts[cnt].id = STANDBY_DEADLOCK_TIMEOUT;
timeouts[cnt].type = TMPARAM_AFTER;
timeouts[cnt].delay_ms = DeadlockTimeout;
+ timeouts[cnt].fin_time = 0;
cnt++;
enable_timeouts(timeouts, cnt);
diff --git a/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/utils/mmgr/dsa.c b/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/utils/mmgr/dsa.c
index 9266d72c4f..6de145e135 100644
--- a/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/utils/mmgr/dsa.c
+++ b/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/utils/mmgr/dsa.c
@@ -839,7 +839,13 @@ dsa_free(dsa_area *area, dsa_pointer dp)
superblock = dsa_get_address(area, span->start);
object = dsa_get_address(area, dp);
size_class = span->size_class;
- Assert(size_class < lengthof(dsa_size_classes));
+ if (size_class >= lengthof(dsa_size_classes))
+ {
+ ereport(ERROR,
+ (errcode(ERRCODE_DATA_CORRUPTED),
+ errmsg("invalid span size"),
+ errdetail("Invalid span->size_class value %zu, but dsa_size_classes size is %zu.", size_class, lengthof(dsa_size_classes))));
+ }
size = dsa_size_classes[size_class];
/*
diff --git a/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/utils/sort/tuplesort.c b/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/utils/sort/tuplesort.c
index f28c37dbc7..897fcffe22 100644
--- a/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/utils/sort/tuplesort.c
+++ b/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/utils/sort/tuplesort.c
@@ -3777,8 +3777,10 @@ comparetup_heap(const SortTuple *a, const SortTuple *b, Tuplesortstate *state)
/* Compare additional sort keys */
ltup.t_len = ((MinimalTuple) a->tuple)->t_len + MINIMAL_TUPLE_OFFSET;
ltup.t_data = (HeapTupleHeader) ((char *) a->tuple - MINIMAL_TUPLE_OFFSET);
+ ltup.t_tableOid = 0;
rtup.t_len = ((MinimalTuple) b->tuple)->t_len + MINIMAL_TUPLE_OFFSET;
rtup.t_data = (HeapTupleHeader) ((char *) b->tuple - MINIMAL_TUPLE_OFFSET);
+ rtup.t_tableOid = 0;
tupDesc = state->tupDesc;
if (sortKey->abbrev_converter)
@@ -3833,6 +3835,7 @@ copytup_heap(Tuplesortstate *state, SortTuple *stup, void *tup)
/* set up first-column key value */
htup.t_len = tuple->t_len + MINIMAL_TUPLE_OFFSET;
htup.t_data = (HeapTupleHeader) ((char *) tuple - MINIMAL_TUPLE_OFFSET);
+ htup.t_tableOid = 0;
original = heap_getattr(&htup,
state->sortKeys[0].ssup_attno,
state->tupDesc,
@@ -3939,6 +3942,7 @@ readtup_heap(Tuplesortstate *state, SortTuple *stup,
/* set up first-column key value */
htup.t_len = tuple->t_len + MINIMAL_TUPLE_OFFSET;
htup.t_data = (HeapTupleHeader) ((char *) tuple - MINIMAL_TUPLE_OFFSET);
+ htup.t_tableOid = 0;
stup->datum1 = heap_getattr(&htup,
state->sortKeys[0].ssup_attno,
state->tupDesc,