Bug #10677 Server crash on data insertion using password() function
Submitted: 16 May 2005 21:30 Modified: 17 May 2005 13:14
Reporter: Shuichi Tamagawa Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S2 (Serious)
Version:5.0.4-beta OS:Windows (Windows XP)
Assigned to: CPU Architecture:Any

[16 May 2005 21:30] Shuichi Tamagawa
Description:
MySQL Server crashes when data is inserted using password() function under the following condition.

 - Table's character set is sjis, cp932, or big5
 - Column type is CHAR(N) and N < 4
 - If 4 <= N < 8, server doesn't crash on INSERT but crashes on SELECT  

How to repeat:
mysql> create table pw(a char(1)) default character set = sjis;
Query OK, 0 rows affected (0.09 sec)

mysql> insert into pw values(password('a'));
ERROR 2013 (HY000): Lost connection to MySQL server during query

#Restart Server

mysql> alter table pw modify a char(4);
Query OK, 0 rows affected (0.11 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> select * from pw;
Empty set (0.00 sec)

mysql> insert into pw values(password('a'));
Query OK, 1 row affected (0.00 sec)

mysql> select * from pw;
ERROR 2013 (HY000): Lost connection to MySQL server during query

#Restart Server

mysql> alter table pw modify a char(8);
Query OK, 1 row affected (0.10 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> insert into pw values(password('a'));
Query OK, 1 row affected (0.00 sec)

mysql> select * from pw;
+------------------+
| a                |
+------------------+
| *667F407         |
| *667F407DE7C6AD0 |
+------------------+
2 rows in set (0.00 sec)

Suggested fix:
It should return a warning message instead.
[16 May 2005 21:30] Shuichi Tamagawa
Stack trace output

Attachment: stacktrace.txt (text/plain), 482 bytes.

[16 May 2005 21:31] Shuichi Tamagawa
I've attached the result of stack tarace of when I repeated the crash on my Linux machine (SuSE 9.2).
[17 May 2005 13:14] MySQL Verification Team
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.

If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html

Additional info:

Tested against a server on Windows and Linux with the below changeset:

ChangeSet@1.1836, 2005-05-16 16:44:53+02:00, serg@serg.mylan