• Anirudh Mangipudi's avatar
    Bug#12428404 MYSQLD.EXE CRASHES WHEN EXTRACTVALUE() IS CALLED · 0f89c366
    Anirudh Mangipudi authored
    WITH MALFORMED XPATH EXP
    Problem:
    A malformed XPATH expression in the ExtractValue query is 
    causing a server crash. This malformed XPATH expression is
    resulted when the position attribute in the substring function
    contains ".." in the beginning.
    Solution:
    The original crash is happening because the "../" is being 
    evaluated prematurely. It tries to access XML while it 
    hasn't been parsed yet. The premature evaluation is happening
    because the val_nodeset function is being set to constant, 
    in which case we proceed to evaluate them in JOIN:prepare
    stage only. The solution to this is setting the val_nodeset
    functions as non-constant. This forces us to evaluate the function
     in the JOIN:exec stage and thus avoid any premature evaluation of
    the XML strings.
    0f89c366
item_xmlfunc.cc 72.3 KB