diff --git a/lib/modules/Sql.pmod/pgsql.pike b/lib/modules/Sql.pmod/pgsql.pike index 5c0d79e341ef9458e83acb0cae09ba292d6e72a6..70fce69555cf268ac901bcca89ec8043b05c4ef0 100644 --- a/lib/modules/Sql.pmod/pgsql.pike +++ b/lib/modules/Sql.pmod/pgsql.pike @@ -493,8 +493,10 @@ private void waitauthready() { } protected void destroy() { - proxy.unnamedstatement = 0; // Forget about pending statements - destruct(proxy); + if (proxy) { + proxy.unnamedstatement = 0; // Forget about pending statements + destruct(proxy); + } } //! For PostgreSQL this function performs the same function as @[resync()]. diff --git a/lib/modules/Sql.pmod/pgsql_util.pmod b/lib/modules/Sql.pmod/pgsql_util.pmod index 8d94038f76b609d973023561d826c3906e161491..1881a1ef3e86cf6b29ad757d49ad9c2fda2cd135 100644 --- a/lib/modules/Sql.pmod/pgsql_util.pmod +++ b/lib/modules/Sql.pmod/pgsql_util.pmod @@ -712,7 +712,8 @@ outer: }; PD("Connect error %s\n", describe_backtrace(err)); catch(destruct(pgsqlsess->waitforauthready)); - destruct(this); + if (this) + destruct(this); } private string _sprintf(int type) {