This shouldn't happen, but if it does, it becomes
very confusing to localise because of the surrounding
catch.  Errors in errormessages are bad news.
---

 server/modules/database/sqltag.pike |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/server/modules/database/sqltag.pike 
b/server/modules/database/sqltag.pike
index 71b6c98..8b14eaf 100644
--- a/server/modules/database/sqltag.pike
+++ b/server/modules/database/sqltag.pike
@@ -523,7 +523,7 @@ array|Sql.sql_result do_sql_query(mapping args, RequestID 
id,
     function query_fn = (big_query ? con->big_query : con->query); 
     if( error = catch( result = (bindings ? query_fn(args->query, bindings) : 
query_fn(args->query))) ) {
       error = sprintf("Query failed: %s\n",
-                     con->error() || describe_error(error));
+                     con && con->error() || describe_error(error));
       RXML.run_error(error);
     }
   }


Reply via email to