• Anirudh Mangipudi's avatar
    Bug#12428404 MYSQLD.EXE CRASHES WHEN EXTRACTVALUE() IS CALLED WITH · b32f13ee
    Anirudh Mangipudi authored
    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.
    b32f13ee
item_xmlfunc.cc 73.1 KB