• unknown's avatar
    Fix for bug #35298: GROUP_CONCAT with DISTINCT can crash the server · 1a68ec28
    unknown authored
    The bug is a regression introduced by the patch for bug32798.
    
    The code in Item_func_group_concat::clear() relied on the 'distinct'
    variable to check if 'unique_filter' was initialized. That, however,
    is not always valid because Item_func_group_concat::setup() can do
    shortcuts in some cases w/o initializing 'unique_filter'.
    
    Fixed by checking the value of 'unique_filter' instead of 'distinct'
    before dereferencing.
    
    
    mysql-test/r/func_gconcat.result:
      Added test cases for bugs #35298 and #36024.
    mysql-test/t/func_gconcat.test:
      Added test cases for bugs #35298 and #36024.
    sql/item_sum.cc:
      Check if unique_filter != NULL before dereferencing it. Non-zero value
      of distinct does not always mean that unique_filter is initialized
      because Item_func_group_concat::setup() can do shortcuts is some cases
    1a68ec28
func_gconcat.test 22.8 KB