From 2d81f77bf55a792e6005183e6d879ff82b6c55f6 Mon Sep 17 00:00:00 2001
From: "Stephen R. van den Berg" <srb@cuci.nl>
Date: Tue, 21 Jan 2020 00:16:32 +0100
Subject: [PATCH] pgsql: Do not pass along strings with NUL characters in
 UTF-8.

---
 lib/modules/Sql.pmod/pgsql_util.pmod | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/modules/Sql.pmod/pgsql_util.pmod b/lib/modules/Sql.pmod/pgsql_util.pmod
index a9777153f9..3834a21817 100644
--- a/lib/modules/Sql.pmod/pgsql_util.pmod
+++ b/lib/modules/Sql.pmod/pgsql_util.pmod
@@ -1195,7 +1195,11 @@ class sql_result {
               value = (string)value;
               switch (cenc) {
                 case UTF8CHARSET:
-                  value = string_to_utf8(value);
+                  if (has_value(value, 0))
+                    SUSERERROR("NUL characters not allowed in PG-UTF-8: %O\n",
+                     value);
+                  else
+                    value = string_to_utf8(value);
                   break;
                 default:
                   if (String.width(value)>8) {
-- 
GitLab