• Alexander Barkov's avatar
    MDEV-28345 ASAN: use-after-poison or unknown-crash in my_strtod_int from... · b777b749
    Alexander Barkov authored
    MDEV-28345 ASAN: use-after-poison or unknown-crash in my_strtod_int from charset_info_st::strntod or test_if_number
    
    This patch fixes two problems:
    
    - The code inside my_strtod_int() in strings/dtoa.c could test the byte
      behind the end of the string when processing the mantissa.
      Rewriting the code to avoid this.
    
    - The code in test_if_number() in sql/sql_analyse.cc called my_atof()
      which is unsafe and makes the called my_strtod_int() look behind
      the end of the string if the input string is not 0-terminated.
      Fixing test_if_number() to use my_strtod() instead, passing the correct
      end pointer.
    b777b749
dtoa.c 65.1 KB