Bug #34166 Server crash in SHOW OPEN TABLES and pre-locking.
| Submitted: | 30 Jan 2008 15:15 | Modified: | 11 Feb 2008 20:45 |
|---|---|---|---|
| Reporter: | Konstantin Osipov (OCA) | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Information schema | Severity: | S3 (Non-critical) |
| Version: | OS: | Any | |
| Assigned to: | Konstantin Osipov | CPU Architecture: | Any |
[30 Jan 2008 15:15]
Konstantin Osipov
[30 Jan 2008 15:18]
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/commits/41437 ChangeSet@1.2664, 2008-01-30 18:18:09+03:00, kostja@dipika.(none) +12 -0 A fix and a test case for Bug#34166 Server crash in SHOW OPEN TABLES and pre-locking. The crash was caused by an implicit assumption in check_table_access() that table_list parameter is always a part of lex->query_tables. When iterating over the passed list of tables, check_table_access() used to stop only when lex->query_tables_last_not_own was reached. In case of pre-locking, lex->query_tables_last_own is not NULL and points to some element of lex->query_tables. When the parameter of check_table_access() was not part of lex->query_tables, loop invariant could never be violated and a crash would happen when the current table pointer would point beyond the end of the provided list. The fix is to change the signature of check_table_access() to also accept a numeric limit of loop iterations, similarly to check_grant(), and supply this limit in all places when we want to check access of tables that are outside lex->query_tables, or just want to check access to one table.
[30 Jan 2008 20:10]
Konstantin Osipov
Queued in 5.1-runtime
[11 Feb 2008 16:24]
Bugs System
Pushed into 5.1.24-rc
[11 Feb 2008 16:26]
Bugs System
Pushed into 6.0.5-alpha
[11 Feb 2008 20:45]
Paul DuBois
Noted in 5.1.24, 6.0.5 changelogs. Use of stored functions in the WHERE clause for SHOW OPEN TABLES caused a server crash.
[6 Mar 2008 16:03]
Jon Stephens
Also documented for 5.1.23-ndb-6.2.14.
[2 Apr 2008 18:05]
Jon Stephens
Fix also noted in the 5.1.23-ndb-6.3.11 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.