From 20661c15db8f430d4880ba685e6b12afa271c1ac Mon Sep 17 00:00:00 2001 From: Tomas Vondra Date: Wed, 14 Apr 2021 00:46:12 +0200 Subject: [PATCH] Initialize t_self and t_tableOid in statext_expressions_load The function is building a fake heap tuple, but left some of the header fields (tid and table OID) uninitialized. Per Coverity report. Reported-by: Ranier Vilela Discussion: https://postgr.es/m/CAEudQApj6h8tZ0-eP5Af5PKc5NG1YUc7=SdN_99YoHS51fKa0Q@mail.gmail.com --- src/backend/statistics/extended_stats.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/backend/statistics/extended_stats.c b/src/backend/statistics/extended_stats.c index 4bbd85f401e..e54e8aa8e0f 100644 --- a/src/backend/statistics/extended_stats.c +++ b/src/backend/statistics/extended_stats.c @@ -2420,6 +2420,8 @@ statext_expressions_load(Oid stxoid, int idx) /* Build a temporary HeapTuple control structure */ tmptup.t_len = HeapTupleHeaderGetDatumLength(td); + ItemPointerSetInvalid(&(tmptup.t_self)); + tmptup.t_tableOid = InvalidOid; tmptup.t_data = td; tup = heap_copytuple(&tmptup); -- 2.39.5