mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
Fix for bug #31438: updatexml still crashes
Problem: check missed if the second updatexml() argument is valid. Fix: check it.
This commit is contained in:
parent
0ff1b80bf0
commit
29dca6ef33
3 changed files with 24 additions and 1 deletions
|
@ -1012,3 +1012,14 @@ select ExtractValue('<a>a</a>', '/a[@x=@y0123456789_0123456789_0123456789_012345
|
|||
ERROR HY000: XPATH error: comparison of two nodesets is not supported: '=@y0123456789_0123456789_0123456'
|
||||
select ExtractValue('<a>a</a>', '/a[@x=$y0123456789_0123456789_0123456789_0123456789]');
|
||||
ERROR HY000: Unknown XPATH variable at: '$y0123456789_0123456789_01234567'
|
||||
select updatexml(NULL, 1, 1), updatexml(1, NULL, 1), updatexml(1, 1, NULL);
|
||||
updatexml(NULL, 1, 1) updatexml(1, NULL, 1) updatexml(1, 1, NULL)
|
||||
NULL NULL NULL
|
||||
select updatexml(NULL, NULL, 1), updatexml(1, NULL, NULL),
|
||||
updatexml(NULL, 1, NULL);
|
||||
updatexml(NULL, NULL, 1) updatexml(1, NULL, NULL) updatexml(NULL, 1, NULL)
|
||||
NULL NULL NULL
|
||||
select updatexml(NULL, NULL, NULL);
|
||||
updatexml(NULL, NULL, NULL)
|
||||
NULL
|
||||
End of 5.1 tests
|
||||
|
|
|
@ -533,3 +533,14 @@ select UpdateXML('<a>a</a>',repeat('a b ',1000),'');
|
|||
select ExtractValue('<a>a</a>', '/a[@x=@y0123456789_0123456789_0123456789_0123456789]');
|
||||
--error 1105
|
||||
select ExtractValue('<a>a</a>', '/a[@x=$y0123456789_0123456789_0123456789_0123456789]');
|
||||
|
||||
#
|
||||
# Bug #31438: updatexml still crashes
|
||||
#
|
||||
|
||||
select updatexml(NULL, 1, 1), updatexml(1, NULL, 1), updatexml(1, 1, NULL);
|
||||
select updatexml(NULL, NULL, 1), updatexml(1, NULL, NULL),
|
||||
updatexml(NULL, 1, NULL);
|
||||
select updatexml(NULL, NULL, NULL);
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
|
|
@ -2580,7 +2580,8 @@ void Item_xml_str_func::fix_length_and_dec()
|
|||
return;
|
||||
}
|
||||
|
||||
xp= args[1]->val_str(&tmp);
|
||||
if (!(xp= args[1]->val_str(&tmp)))
|
||||
return;
|
||||
my_xpath_init(&xpath);
|
||||
xpath.cs= collation.collation;
|
||||
xpath.debug= 0;
|
||||
|
|
Loading…
Reference in a new issue