Issue Details (XML | Word | Printable)

Key: CORE-1010
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: Dmitry Yemanov
Reporter: Arteev Alexei
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Firebird Core

disconnect

Created: 22/Nov/06 05:06 AM   Updated: 17/Jun/07 12:18 PM
Component/s: Engine
Affects Version/s: 2.0.0
Fix Version/s: 2.0.1, 2.1 Alpha 1

Time Tracking:
Not Specified

Issue Links:
Relate
 


 Description  « Hide
CREATE EXCEPTION RDB$TEST 'Test';
commit;
set term ^ ;
CREATE OR ALTER TRIGGER RDB$PROCEDURES_BIU FOR RDB$PROCEDURES
ACTIVE AFTER UPDATE OR DELETE POSITION 0
as
begin
 -- if (...) then
    EXCEPTION RDB$TEST;
end^

commit^

create or alter procedure proctest
 returns (result integer)
as
begin
  result = 0;
  suspend;
end
^

set term ; ^

commit;
exit;

FB 1.5:
This operation is not defined for system tables.
unsuccessful metadata update.
MODIFY RDB$PROCEDURES failed.
exception 4.
Test.

FB 2.0: Disconect



 All   Comments   Work Log   Change History   Version Control   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Dmitry Yemanov added a comment - 22/Nov/06 05:59 AM
We have a local buffer overrun in DYN_error(), while copying tdbb_status_vector to local_status. It seems to be the first time (DYN errors + stack trace facility) when 20 status words are not enough to store the complete error info. And the code that performs a vector truncation doesn't look safe to me.

Pavel Cisar added a comment - 15/Apr/07 10:34 AM
Fix verified, test added.

Pavel Cisar added a comment - 26/Apr/07 11:41 AM
Reopened to update ticket information.