diff options
author | Sergey Uzhakov <uzhastik@gmail.com> | 2022-04-29 19:59:07 +0300 |
---|---|---|
committer | Sergey Uzhakov <uzhastik@gmail.com> | 2022-04-29 19:59:07 +0300 |
commit | db6e84f52792f8ca65acdff03ea8f7f8b522da8b (patch) | |
tree | 1a3e6f52ca6e915f33c8f1e0a2ca335d9da06547 | |
parent | c4c92365eb01dc2d236f5de5d86ab57a48aa47ed (diff) | |
download | ydb-db6e84f52792f8ca65acdff03ea8f7f8b522da8b.tar.gz |
CLOUD-95996: fix several coverity issues, v2
ref:40a471897bc5593b9033f287796e2c7f3ac85209
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 8d0903c1756..8f6c097cb54 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 92f51c7885c..553334807db 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 05c4e5e7ef0..9d61da319ef 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 9266d72c4f6..6de145e1351 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 f28c37dbc71..897fcffe222 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, |