From 85837b8037ada19d319fa4d3ba99c72205868199 Mon Sep 17 00:00:00 2001 From: Daniel Gustafsson Date: Thu, 5 Sep 2024 15:32:22 +0200 Subject: [PATCH] Fix handling of NULL return value in typarray lookup Commit 6ebeeae29 accidentally omitted testing the return value from findTypeByOid which can return NULL. Fix by adding a check to make sure that we have a pointer to dereference. Author: Ranier Vilela Reviewed-by: Nathan Bossart Reviewed-by: Daniel Gustafsson Discussion: https://postgr.es/m/CAEudQAqfMTH8Ya_J6E-NW_y_JyDFDxtQ4V_g6nY_1=0oDbQqdg@mail.gmail.com --- src/bin/pg_dump/pg_dump.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index dacb033e98..546e7e4ce1 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -5420,7 +5420,10 @@ binary_upgrade_set_type_oids_by_type_oid(Archive *fout, pg_type_oid); tinfo = findTypeByOid(pg_type_oid); - pg_type_array_oid = tinfo->typarray; + if (tinfo) + pg_type_array_oid = tinfo->typarray; + else + pg_type_array_oid = InvalidOid; if (!OidIsValid(pg_type_array_oid) && force_array_type) pg_type_array_oid = get_next_possible_free_pg_type_oid(fout, upgrade_query);