relcache: Avoid memory leak on tables with no CHECK constraints
authorÁlvaro Herrera <alvherre@kurilemu.de>
Sun, 11 May 2025 13:22:12 +0000 (09:22 -0400)
committerÁlvaro Herrera <alvherre@kurilemu.de>
Sun, 11 May 2025 13:22:12 +0000 (09:22 -0400)
commitdc9a2d54fd2571c21c074103cc8ddd93e840b985
tree65bf3a936f8469a0f3e7fb202ea59dc4284cc271
parent7b2ad4342603c9796bf28dbe84aca247b2bfa9f8
relcache: Avoid memory leak on tables with no CHECK constraints

As complained about by Valgrind, in commit a379061a22a8 I failed to
realize that I was causing rd_att->constr->check to become allocated
when no CHECK constraints exist; previously it'd remain NULL.  (This was
my bug, not the mentioned commit author's).  Fix by making the
allocation conditional, and set ->check to NULL if unallocated.

Reported-by: Yasir <yasir.hussain.shah@gmail.com>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/202505082025.57ijx3qrbx7u@alvherre.pgsql
src/backend/utils/cache/relcache.c