diff options
author | Ramil Kalimullin <ramil.kalimullin@oracle.com> | 2012-12-14 14:01:43 +0400 |
---|---|---|
committer | Ramil Kalimullin <ramil.kalimullin@oracle.com> | 2012-12-14 14:01:43 +0400 |
commit | 5c8cfd717e93f12c2a0a09d714ab3dd1d067af71 (patch) | |
tree | 7810e01f35f0d43ab455e731502e00c357909df3 /sql/item_xmlfunc.cc | |
parent | 7d9836f76e47bc4d8fa262fbf2e66b039e164cae (diff) | |
parent | 0fa867fd9105dc6ccce8437df0ce7f03b89bec92 (diff) | |
download | mariadb-git-5c8cfd717e93f12c2a0a09d714ab3dd1d067af71.tar.gz |
Auto-merge from mysql-5.1.
Diffstat (limited to 'sql/item_xmlfunc.cc')
-rw-r--r-- | sql/item_xmlfunc.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sql/item_xmlfunc.cc b/sql/item_xmlfunc.cc index 9a4c1fe3a2d..c6902878c86 100644 --- a/sql/item_xmlfunc.cc +++ b/sql/item_xmlfunc.cc @@ -2692,8 +2692,12 @@ int xml_enter(MY_XML_PARSER *st,const char *attr, size_t len) node.parent= data->parent; // Set parent for the new node to old parent data->parent= numnodes; // Remember current node as new parent + DBUG_ASSERT(data->level <= MAX_LEVEL); data->pos[data->level]= numnodes; - node.level= data->level++; + if (data->level < MAX_LEVEL) + node.level= data->level++; + else + return MY_XML_ERROR; node.type= st->current_node_type; // TAG or ATTR node.beg= attr; node.end= attr + len; |