diff options
author | Sergei Golubchik <sergii@pisem.net> | 2013-02-28 09:58:39 +0100 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2013-02-28 09:58:39 +0100 |
commit | 08ba257846e75641304e530b7a4a4ab21b1714d7 (patch) | |
tree | 5152c8e758f3b566dda4bf07bf5aad1607910eda /sql/item_xmlfunc.cc | |
parent | 65831bca6f516db383c1bc04884b65b9fa7b6926 (diff) | |
parent | 40bbd1862376fa634e42b4e0197e22f5633f0c21 (diff) | |
download | mariadb-git-08ba257846e75641304e530b7a4a4ab21b1714d7.tar.gz |
mysql-5.1 merge
mysys/errors.c:
revert upstream's fix. use a much simpler one
mysys/my_write.c:
revert upstream's fix. use a simpler one
sql/item_xmlfunc.cc:
useless, but ok
sql/mysqld.cc:
simplify upstream's fix
storage/heap/hp_delete.c:
remove upstream's fix.
we'll use a much less expensive approach.
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 7464fbb440e..c066f1b9744 100644 --- a/sql/item_xmlfunc.cc +++ b/sql/item_xmlfunc.cc @@ -2669,8 +2669,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; |