Re: casting operand to proper type in BlockIdGetBlockNumber
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Zhihong Yu <zyu@yugabyte.com>,
PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2022-03-03T19:00:14Z
Lists: pgsql-hackers
Attachments
- more-sanitizer-cleanups-1.patch (text/x-diff) patch
I wrote: > Andres Freund <andres@anarazel.de> writes: >> We should fix these passing-null-pointer cases... > Yeah, working on that now. The attached is enough to get through check-world with "-fsanitize=undefined" using RHEL8's clang 12.0.1. Most of it is the same old null-pointer-with-zero-count business, but the change in numeric.c is a different issue: "ln(-1.0)" ends up computing log10(0), which produces -Inf, and then tries to assign that to an integer. We don't actually care about the garbage result in that case, so it's only a sanitizer complaint not a live bug. I'm not sure whether to back-patch --- looking through the git logs, it seems we've back-patched some fixes like these and not others. Thoughts? In any case, if we're going to take this seriously it seems like we need a buildfarm machine or two testing this option. regards, tom lane
Commits
-
Tighten overflow checks in tidin().
- f7ea240aa749 15.0 landed
-
Remove some pointless code in block.h.
- 8134fe4ad80a 15.0 landed
-
Fix bogus casting in BlockIdGetBlockNumber().
- 18c04d157456 10.21 landed
- 566e1c04df52 11.16 landed
- 4b0696b36e5a 12.11 landed
- 97031f440485 13.7 landed
- 5c9d17e94c5c 14.3 landed
- 0fbdfaf79d0b 15.0 landed
-
Clean up assorted failures under clang's -fsanitize=undefined checks.
- f727b6ea8f3b 12.11 landed
- f2087e26ebf1 11.16 landed
- cfbe87bd6f64 10.21 landed
- b0bc196e52e6 14.3 landed
- 46ab07ffda9d 15.0 landed
- 1a027e6b7bdf 13.7 landed