From 2315df21f824732dbae061a79f7105caf864c50e Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu, 19 Oct 2006 19:53:03 +0000
Subject: [PATCH] Fix a couple of places that were assuming debug_query_string
 couldn't be NULL ... seems an unsafe assumption.

---
 contrib/dblink/dblink.c           | 7 +++++--
 src/backend/commands/portalcmds.c | 4 ++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/contrib/dblink/dblink.c b/contrib/dblink/dblink.c
index 08fb6328fbc..79e78fd86e5 100644
--- a/contrib/dblink/dblink.c
+++ b/contrib/dblink/dblink.c
@@ -8,7 +8,7 @@
  * Darko Prenosil <Darko.Prenosil@finteh.hr>
  * Shridhar Daithankar <shridhar_daithankar@persistent.co.in>
  *
- * $PostgreSQL: pgsql/contrib/dblink/dblink.c,v 1.59 2006/10/04 00:29:44 momjian Exp $
+ * $PostgreSQL: pgsql/contrib/dblink/dblink.c,v 1.60 2006/10/19 19:53:03 tgl Exp $
  * Copyright (c) 2001-2006, PostgreSQL Global Development Group
  * ALL RIGHTS RESERVED;
  *
@@ -1640,7 +1640,10 @@ PG_FUNCTION_INFO_V1(dblink_current_query);
 Datum
 dblink_current_query(PG_FUNCTION_ARGS)
 {
-	PG_RETURN_TEXT_P(GET_TEXT(debug_query_string));
+	if (debug_query_string)
+		PG_RETURN_TEXT_P(GET_TEXT(debug_query_string));
+	else
+		PG_RETURN_NULL();
 }
 
 
diff --git a/src/backend/commands/portalcmds.c b/src/backend/commands/portalcmds.c
index 8907aac8a95..72d3eadcbfb 100644
--- a/src/backend/commands/portalcmds.c
+++ b/src/backend/commands/portalcmds.c
@@ -14,7 +14,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/commands/portalcmds.c,v 1.56 2006/10/04 00:29:51 momjian Exp $
+ *	  $PostgreSQL: pgsql/src/backend/commands/portalcmds.c,v 1.57 2006/10/19 19:53:03 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -113,7 +113,7 @@ PerformCursorOpen(DeclareCursorStmt *stmt, ParamListInfo params)
 	 */
 	PortalDefineQuery(portal,
 					  NULL,
-					  pstrdup(debug_query_string),
+					  debug_query_string ? pstrdup(debug_query_string) : NULL,
 					  "SELECT", /* cursor's query is always a SELECT */
 					  list_make1(query),
 					  list_make1(plan),
-- 
GitLab