From 7ae39021d76722fa06266319e340d2cb656abef9 Mon Sep 17 00:00:00 2001
From: "Stephen R. van den Berg" <srb@cuci.nl>
Date: Tue, 21 Nov 2017 02:01:17 +0100
Subject: [PATCH] pgsql: Fix SSL method in combination with Stdio.Buffer.

---
 lib/modules/Sql.pmod/pgsql_util.pmod | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/modules/Sql.pmod/pgsql_util.pmod b/lib/modules/Sql.pmod/pgsql_util.pmod
index c3e6675681..da0a6d1986 100644
--- a/lib/modules/Sql.pmod/pgsql_util.pmod
+++ b/lib/modules/Sql.pmod/pgsql_util.pmod
@@ -506,9 +506,10 @@ outer:
           PD("SSLRequest\n");
           start()->add_int32(8)->add_int32(PG_PROTOCOL(1234,5679))
            ->sendcmd(SENDOUT);
-          switch(read_int8()) {
+          string s = socket.read(1);
+          switch (sizeof(s) && s[0]) {
             case 'S':
-              object fcon=SSL.File(socket,SSL.Context());
+              SSL.File fcon = SSL.File(socket, SSL.Context());
               if(fcon->connect()) {
                 socket=fcon;
                 break;
-- 
GitLab