diff --git a/contrib/dblink/dblink.c b/contrib/dblink/dblink.c index 3a0beaa88e7..824d301aad8 100644 --- a/contrib/dblink/dblink.c +++ b/contrib/dblink/dblink.c @@ -2799,7 +2799,8 @@ dblink_res_error(PGconn *conn, const char *conname, PGresult *res, ereport(level, (errcode(sqlstate), - message_primary ? errmsg_internal("%s", message_primary) : + (message_primary != NULL && message_primary[0] != '\0') ? + errmsg_internal("%s", message_primary) : errmsg("could not obtain message string for remote error"), message_detail ? errdetail_internal("%s", message_detail) : 0, message_hint ? errhint("%s", message_hint) : 0, diff --git a/contrib/postgres_fdw/connection.c b/contrib/postgres_fdw/connection.c index 03c7843f15b..1c7c76d1d4c 100644 --- a/contrib/postgres_fdw/connection.c +++ b/contrib/postgres_fdw/connection.c @@ -805,7 +805,8 @@ pgfdw_report_error(int elevel, PGresult *res, PGconn *conn, ereport(elevel, (errcode(sqlstate), - message_primary ? errmsg_internal("%s", message_primary) : + (message_primary != NULL && message_primary[0] != '\0') ? + errmsg_internal("%s", message_primary) : errmsg("could not obtain message string for remote error"), message_detail ? errdetail_internal("%s", message_detail) : 0, message_hint ? errhint("%s", message_hint) : 0,