mirror of
https://github.com/MariaDB/server.git
synced 2026-05-15 03:17:20 +02:00
Bug #29185 Large IN list crashes mysqld with cluster and condition pushdown
This commit is contained in:
parent
c982517540
commit
228fc721a9
1 changed files with 18 additions and 2 deletions
|
|
@ -259,8 +259,24 @@ class Ndb_cond : public Sql_alloc
|
|||
~Ndb_cond()
|
||||
{
|
||||
if (ndb_item) delete ndb_item;
|
||||
ndb_item= NULL;
|
||||
if (next) delete next;
|
||||
ndb_item= NULL;
|
||||
/*
|
||||
First item in the linked list deletes all in a loop
|
||||
Note - doing it recursively causes stack issues for
|
||||
big IN clauses
|
||||
*/
|
||||
if (prev != NULL)
|
||||
{
|
||||
next= prev= NULL;
|
||||
return;
|
||||
}
|
||||
Ndb_cond *n= next;
|
||||
while (n)
|
||||
{
|
||||
Ndb_cond *tmp= n;
|
||||
n= n->next;
|
||||
delete tmp;
|
||||
}
|
||||
next= prev= NULL;
|
||||
};
|
||||
Ndb_item *ndb_item;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue