BUG #11335: an invalid prepare statement causes crash at log_statement = 'mod' or 'ddl'. - Mailing list pgsql-bugs

From harukat@sraoss.co.jp
Subject BUG #11335: an invalid prepare statement causes crash at log_statement = 'mod' or 'ddl'.
Date
Msg-id 20140902111653.2936.35702@wrigleys.postgresql.org
Whole thread Raw
Responses Re: BUG #11335: an invalid prepare statement causes crash at log_statement = 'mod' or 'ddl'.
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      11335
Logged by:          invalid prepare statement causes crash at log_statement = 'mod' or 'ddl'.
Email address:      harukat@sraoss.co.jp
PostgreSQL version: 9.3.5
Operating system:   CentOS 6.2 (64bit / gcc 4.4.7)
Description:


setting:
  log_statement = 'mod' # or 'ddl'

reproduction client code:
 <?php
 require_once 'MDB2.php';
 $con1 =& MDB2::connect("pgsql://postgres@localhost/db1");
 if (PEAR::isError($con1)) { die($con1->getMessage()); }
 $sth = $con1->prepare("");
 if (PEAR::isError($sth)) { die($sth->getMessage()); }
 $sth->execute();
 ?>

log messages:
 2014-09-02 19:41:57 JST 9453 LOG:  server process (PID 10372) was
 terminated by signal11: Segmentation fault
 2014-09-02 19:41:57 JST 9453 DETAIL:  Failed process was running:
 EXECUTE mdb2_statement_pgsql_9cc7dc53dfc30b3c2b937c650346f586

This occur in 9.3.5 and 9.1.14. (It probably occur at any versions.)
I tested that the following fix prevent this crash.

*** ./src/backend/tcop/utility.c    2014-09-02 19:32:44.735266203 +0900
--- ./src/backend/tcop/utility.c.ORG    2014-09-02 18:17:47.631854101 +0900
***************
*** 2307,2314 ****
  GetCommandLogLevel(Node *parsetree)
  {
      LogStmtLevel lev;
-     if (! parsetree)
-         return LOGSTMT_ALL;

      switch (nodeTag(parsetree))
      {
--- 2307,2312 ----


Though we should throw ERROR for empty prepared statement,
I hope for a symptomatic treatment such as the above.
Because an application package use such wrong query.


----------------------------------------------------------
Haruka Takatsuka
harukat@sraoss.co.jp SRA OSS, Inc. http://www.sraoss.co.jp

pgsql-bugs by date:

Previous
From: David G Johnston
Date:
Subject: Re: BUG #11325: Documentation Bug / RFE
Next
From: Amit Kapila
Date:
Subject: Re: build with vs2008