• unknown's avatar
    Fix for BUG#16899: Possible buffer overflow in handling of DEFINER-clause · 21e6836b
    unknown authored
        
    User name (host name) has limit on length. The server code relies on these
    limits when storing the names. The problem was that sometimes these limits
    were not checked properly, so that could lead to buffer overflow.
      
    The fix is to check length of user/host name in parser and if string is too
    long, throw an error.
    
    
    mysql-test/r/grant.result:
      Updated result file.
    mysql-test/r/sp.result:
      Updated result file.
    mysql-test/r/trigger.result:
      Updated result file.
    mysql-test/r/view.result:
      Updated result file.
    mysql-test/t/grant.test:
      Added test for BUG#16899.
    mysql-test/t/sp.test:
      Added test for BUG#16899.
    mysql-test/t/trigger.test:
      Added test for BUG#16899.
    mysql-test/t/view.test:
      Added test for BUG#16899.
    sql/mysql_priv.h:
      Added prototype for new function.
    sql/sql_acl.cc:
      Remove outdated checks.
    sql/sql_parse.cc:
      Add a new function for checking string length.
    sql/share/errmsg.txt:
      Added new resources.
    sql/sql_yacc.yy:
      Check length of user/host name.
    21e6836b
grant.test 25 KB