Bug #14376 MySQL crash on scoped variable (re)initialization
| Submitted: | 27 Oct 2005 6:35 | Modified: | 2 Dec 2005 20:27 |
|---|---|---|---|
| Reporter: | Josh Chamas | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Stored Routines | Severity: | S1 (Critical) |
| Version: | 5.0.15-nt, 5.0.16-BK | OS: | Linux (Linux, Windows) |
| Assigned to: | Per-Erik Martin | CPU Architecture: | Any |
[27 Oct 2005 6:35]
Josh Chamas
[27 Oct 2005 9:44]
Valeriy Kravchuk
Thank you for a bug report. This crash is easily repeatable both with 5.0.15 on Windows (note that procedure is called p1, not x1, as in original report):
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 325 to server version: 5.0.15-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use test;
Database changed
mysql> delimiter //
mysql> drop procedure if exists p1 //
Query OK, 0 rows affected, 1 warning (0.05 sec)
mysql> create procedure p1()
-> begin
-> declare x1 char(100) default 'outer';
-> begin
-> declare x1 char(100) default x1;
-> end;
-> end;
-> //
Query OK, 0 rows affected (0.01 sec)
mysql> call p1()//
ERROR 2013 (HY000): Lost connection to MySQL server during query
and on my Fedora Core Linux with 5.0.16-BK (see the Changeset):
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5 to server version: 5.0.16
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> delimiter //
mysql> drop procedure if exists p1 //
cQuery OK, 0 rows affected, 1 warning (0,00 sec)
mysql> create procedure p1()
-> begin
-> declare x1 char(100) default 'outer';
-> begin
-> declare x1 char(100) default x1;
-> end;
-> end;
-> //
Query OK, 0 rows affected (0,02 sec)
mysql> call p1()//
ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql>
Number of processes running now: 0
051027 12:35:27 mysqld restarted
This may even lead to a simple DoS attack...
[31 Oct 2005 2:09]
Peter Gulutzan
I believe this is the same thing: If I say that a variable's default value is the variable name, crash. mysql> create procedure px () begin declare x int default x; end// Query OK, 0 rows affected (0.00 sec) mysql> call px()// ERROR 2013 (HY000): Lost connection to MySQL server during query
[1 Nov 2005 14:01]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/31736
[2 Dec 2005 12:52]
Konstantin Osipov
Approved by email with a few notes.
[2 Dec 2005 13:37]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/32961
[2 Dec 2005 16:03]
Per-Erik Martin
Pushed to 5.0.17 bk.
[2 Dec 2005 20:27]
Paul DuBois
Noted in 5.0.17 changelog.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.042 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.