Bug #54269 [Opn->Csd]: Short exception message buffer causes crash

From: Date: Sun, 22 May 2011 18:56:07 +0000
Subject: Bug #54269 [Opn->Csd]: Short exception message buffer causes crash
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-160901@lists.php.net to get a copy of this message
Edit report at http://bugs.php.net/bug.php?id=54269&edit=1

 ID:                 54269
 Updated by:         felipe@php.net
 Reported by:        eav at mobil-soft dot ru
 Summary:            Short exception message buffer causes crash
-Status:             Open
+Status:             Closed
 Type:               Bug
 Package:            InterBase related
 Operating System:   All
 PHP Version:        5.3.5
-Assigned To:        
+Assigned To:        felipe
 Block user comment: N
 Private report:     N

 New Comment:

This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.




Previous Comments:
------------------------------------------------------------------------
[2011-03-24 08:01:54] eav at mobil-soft dot ru

CREATE EXCEPTION NEGATIVEREMAINDER 'INVALID REMAINDER IN CURRENT
ACCOUNT';
create procedure PROCEDURE_10
as
begin
  /* Procedure Text */
  exception NEGATIVEREMAINDER;
  suspend;
end;
create procedure PROCEDURE_9
as
begin
  /* Procedure Text */
  execute procedure PROCEDURE_10;
  suspend;
end;
create procedure PROCEDURE_8
as
begin
  /* Procedure Text */
  execute procedure PROCEDURE_9;
  suspend;
end;
create procedure PROCEDURE_7
as
begin
  /* Procedure Text */
  execute procedure PROCEDURE_8;
  suspend;
end;
create procedure PROCEDURE_6
as
begin
  /* Procedure Text */
  execute procedure PROCEDURE_7;
  suspend;
end;
create procedure PROCEDURE_5
as
begin
  /* Procedure Text */
  execute procedure PROCEDURE_6;
  suspend;
end;
create procedure PROCEDURE_4
as
begin
  /* Procedure Text */
  execute procedure PROCEDURE_5;
  suspend;
end;
create procedure PROCEDURE_3
as
begin
  /* Procedure Text */
  execute procedure PROCEDURE_4;
  suspend;
end;
create procedure PROCEDURE_2
as
begin
  /* Procedure Text */
  execute procedure PROCEDURE_3;
  suspend;
end;
create procedure PROCEDURE_1
as
begin
  /* Procedure Text */
  execute procedure PROCEDURE_2;
  suspend;
end;

----------------------------------
execute procedure PROCEDURE_1;
----------------------------------
NEGATIVEREMAINDER.
INVALID REMAINDER IN CURRENT ACCOUNT.
At procedure 'PROCEDURE_10' line: 5, col: 3
At procedure 'PROCEDURE_9' line: 5, col: 3
At procedure 'PROCEDURE_8' line: 5, col: 3
At procedure 'PROCEDURE_7' line: 5, col: 3
At procedure 'PROCEDURE_6' line: 5, col: 3
At procedure 'PROCEDURE_5' line: 5, col: 3
At procedure 'PROCEDURE_4' line: 5, col: 3
At procedure 'PROCEDURE_3' line: 5, col: 3
At procedure 'PROCEDURE_2' line: 5, col: 3
At procedure 'PROCEDURE_1' line: 5, col: 3.

------------------------------------------------------------------------
[2011-03-21 07:49:18] eav at mobil-soft dot ru

This example with firebird-client-2.0.3_2. Standard errcode for user
exception -836. With firebird-client > 2.0 PHP in segmentation fault for
ibase_fetch_assoc.

$link=ibase_connect('my_fb','test','test','win1251',0,1,'');
           
       
$_iquery="select * from
currencyconvertion('40389810100000124671','403898409000000123476',840,1000.00,28.6500)";
                                                               
$trans=ibase_trans(IBASE_COMMITTED+IBASE_NOWAIT+IBASE_REC_VERSION,$link);
      $query_prep=ibase_prepare($link,$trans,$_iquery);                 
             $result=ibase_execute($query_prep);                        
                    $row=ibase_fetch_assoc($result,IBASE_TEXT);         
                           
echo 'ErrCode - '.ibase_errcode();                                      
             
-------------
Warning: ibase_fetch_assoc(): exception 688 NEGATIVEREMAINDER 21.03.11
At procedure 'PROCEDURE1' line: 26, col: 86
At trigger 'PROCEDURE2' line: 11, col: 3
At procedure 'PROCEDURE3' line: 56, col: 4
At procedure 'PROCEDURE4' line: 187, col: 1
At trigger 'PROCEDURE5' line: 250, col: 1
At procedure 'PROCEDURE6' line: 65, col: 5
At procedure 'PROCEDURE7' line: 39, col: 3
At procedure 'PROCEDURE8' line: 285, col: 1  in /home/eav/temp.php on
line 38
ErrCode - 741685298

------------------------------------------------------------------------
[2011-03-20 23:25:32] felipe@php.net

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.



------------------------------------------------------------------------
[2011-03-16 06:52:38] eav at mobil-soft dot ru

Add OS

------------------------------------------------------------------------
[2011-03-16 06:42:59] eav at mobil-soft dot ru

Description:
------------
From FB 2.0 release notes
Size limit for exception messages increased
V. Horsun
Maximum size of exception messages raised from 78 to 1021 bytes.



------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=54269&edit=1


Thread (6 messages)

« previous php.bugs (#160901) next »