• unknown's avatar
    Bug#19006: 4.0 valgrind problems (in test func_str) · ed3fc505
    unknown authored
    On exactly-sized Strings, the String::c_ptr() function peeked beyond the
    end of the buffer, possibly into unititialized space to see whether the 
    buffer was NUL-terminated.
    
    In a place that did peek improperly, we now use a c_ptr_safe() function, 
    which doesn't peek where it shouldn't.
    
    
    client/sql_string.h:
      Back-port String::c_ptr_safe().
    sql/item_func.h:
      Describe side-effect behavior.
    sql/item_strfunc.cc:
      Use the "_safe" version of c_ptr to avoid looking for a terminating 
      NUL character outside the initialized memory area.  Valgrind hates it 
      when one does that, and it theoretically could lead to a SEGV.
    sql/sql_string.h:
      Back-port String::c_ptr_safe().
    ed3fc505
sql_string.h 5.62 KB