commit 6de8e128a056b6979d341057994073174277f481
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Sat Nov 7 22:03:47 2015 +0530

    Bug#21973610: BUFFER OVERFLOW ISSUES
    
    post push fix : Fixing test failures

commit b7202ddcb270e6c18076cad79480510208818a81
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Nov 6 16:41:55 2015 +0530

    Bug#21973610: BUFFER OVERFLOW ISSUES
    
    Description : Incorrect usage of sprintf/strcpy caused
                  possible buffer overflow issues at various
                  places.
    
    Solution : - Fixed mysql_plugin and mysqlshow
               - Fixed regex library issues
    
    Reviewed-By : Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-By : Venkata S Murthy Sidagam <venkata.sidagam@oracle.com>

commit 476223ec1d0ceb5b7c0455bf409efbabf5afc0d8
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Nov 5 16:33:47 2015 +0530

    BUG#21950975 - MYSQL RPM INSTALLER(NEW STYLE) FAILS TO CREATE 'MYSQL' USER FOR EL5
        - Remove -N option in useradd for EL5 platforms

commit 5b357d89c1bbbecf9ea58caa5507367acefedc14
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Nov 4 16:12:27 2015 +0530

      BUG 22005375 - DEVEL PACKAGES INSTALL FAILS IF MYSQL-CONNECTOR-C-DEVEL-6.1.6 IS INSTALLED
    
            As MySQL Connector C 6.1 is end of life, added conflict with mysql-connector-c-devel dependencies

commit 1e305dad56a03f14141e1c4705972eed09a9524f
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Nov 3 07:59:57 2015 +0530

    Bug #22123583: MYSQL 5.5: MAIN.SP HAS VALGRIND ISSUES
    
    Issue:
    -----
    When a varchar column is used to fill the record in an
    internal temporary table, the length of the string stored
    in the column is not taken into account. Instead the
    default length of packed data is used to copy with memmove.
    This will cause valgrind issues since some bytes are
    uninitialized.
    
    SOLUTION:
    ---------
    The solution is to take into account the length of the
    string stored in the column while filling the record.
    
    This fix is a backport of BUG#13389854.

commit f97e4479c3366c5a948a29500d6fe0ba7ac74ee5
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Nov 3 07:43:54 2015 +0530

    Bug #22023218: MYSQL 5.5: MAIN.FULLTEXT HAS VALGRIND ISSUES.
    
    
    Issue
    -----
    This problem occurs when varchar columns are used in a
    internal temporary table. The type of the field is set
    incorrectly to the generic FIELD_NORMAL type. This in turn
    results in an inaccurate calculation of the record length.
    Valgrind issues will occur since initialization has not
    happend for some bytes.
    
    Fix
    ----
    While creating the temporary table, the type of the field
    needs to be to set FIELD_VARCHAR. This will allow myisam
    to calculate the record length accurately.
    
    This fix is a backport of BUG#13350136.

commit 6d9b966e54edf9018a6d70e9212044c0bca2e8d4
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Nov 2 16:30:57 2015 +0530

    Bug#20755389 SERVER CRASHES IN ITEM_FUNC_GROUP_CONCAT::FIX_FIELDS ON
                   2ND EXECUTION OF PS
    
    Description:
    ------------
    When MySQL calls 'EXECUTE stmt' firstly to deal with ORDER BY clause which is
    similar with 'ORDER BY 1,(t2a.f2+1)' in find_order_in_list(), it believes the
    first expression is a position, the function replaces the pointer of the first
    expression with Item_field object associated with a temporary table field,
    then releases it after the end of the execution, that behavior destroys the
    pointer of first expression.
    
    After that, when MySQL calls 'EXECUTE stmt' once more, the first expression
    points to an invalid pointer, so it crashed.
    
    Fix:
    ----
    If an item of ORDER clause is a location, reset 'args' with a original value.

commit f8ed7e0d92f6119745eefc3343d09b681bad2c0f
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Thu Oct 29 13:35:32 2015 +0530

    DESCRIPTION
    ===========
    When doing an upgrade, you execute mysql_upgrade. If
    mysql_upgrade fails to connect or it connects with a user
    without the proper privileges, it will return the error:
    
        FATAL ERROR: Upgrade failed
    
    which is not very informative.
    
    ANALYSIS
    ========
    
    In main() and check_version_match(), the condition for
    errors are clubbed together and throw the same error msg.
    The functions need to be splitted up and the corresponding
    error msgs have to be displayed.
    
    FIX
    ===
    Splitted the functions and added the specific error msg.

commit f19b2a9e7c7d2c1b8fcf189c3c1d7195b388a15d
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Mon Oct 26 16:19:11 2015 +0530

    BUG#22084221 : TEST IMPROVEMENT FOR MAIN.EVENTS_1
    
     Issue: main.events_1 will fail after 10-10-2015 due
             to hardcoded dates specified with events.
     Fix: Replace harcoded dates with current dates and offset.

commit 999cd8bc03a1935f6b94ccaf087ccd8ffbf80e2c
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Thu Oct 22 17:02:12 2015 +0530

    Bug #20447262: REPEATED EXECUTION OF PREPARED STATEMENTS FAILS, IF DEFAULT DATABASE IS CHANGED.
    
    Issue:
    ======
    While re-preparing the statement in
    Prepared_statement::swap_prepared_statement for swapping
    the database of PS we only swapped the db string but not
    its length. This resulted in mismatch between the actual
    string and its length. In one particular case where db
    of PS was dropped, we have db as null pointer and length
    as non-zero. strdup which used above values resulted in
    invalid memory access.
    
    Solution:
    =========
    In Prepared_statement::swap_prepared_statement also swap
    db_length along with db variable. Also, remove
    DBUG_ASSERT(db_length == copy->db_length) as this have
    no meaning if they are 2 different entities.

commit b593ad05a7fb32119b990c7e96d4c1ec4a44e6c5
Author: Terje Røsten <terje.rosten@oracle.com>
Date:   Fri Oct 16 09:56:09 2015 +0200

    BUG#22024764 MAIN.EVENTS_1 FAILS BECAUSE IT USES ENDDATE OF 20151010
    
    Move date 10 years forward to let test pass for some more years.

commit 32cc08dcbb61a551041d8935e53db68cd8b8fa2a
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Oct 14 12:00:39 2015 +0530

    Bug #21235226 : THE --ENABLE-CLEARTEXT-PLUGIN IS NOT
                    IMPLEMENTED IN ALL CLIENT PROGRAMS
    
    Description: Option "enable-cleartext-plugin" is not
    available for the following client utilities:-
    mysqldump
    mysqlimport
    mysqlshow
    mysqlcheck
    
    Analysis: The unavailability of this option limits the
    features like PAM authentication from using the above
    mentioned utilities.
    
    Fix: Option "enable-cleartext-plugin" is implemented in the
    above mentioned client utilities.

commit b0c765cbec9ae24ca405910daaff721a765d9f84
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Oct 14 11:08:49 2015 +0530

    Bug #21602056 : CONCURRENT FLUSH PRIVILEGES + REVOKE/GRANT
                    CRASHES IN WILD_CASE_COMPARE!
    
    Description:- Executing FLUSH PRIVILEGES and REVOKE/
    GRANT concurrently crashes the server.
    
    Analysis:- Concurrent FLUSH PRIVILEGES and REVOKE/GRANT
    might trigger a small time frame in which REVOKE/GRANT
    fetches the "acl_proxy_user" information as a part of
    "acl_check_proxy_grant_access()". Meanwhile FLUSH PRIVILEGES
    deletes the old acl structures as a part of "acl_reload()".
    After which REVOKE/GRANT tries to access the hostname in
    "wild_case_compare()" which leads to a crash because of the
    invalid memory access.
    
    Fix:- Mutex lock on "acl_cache" is acquired before fetching
    "acl_proxy_user" information in
    "acl_check_proxy_grant_access()".

commit df5dde8ec7c35f35a56ce4595a1117df95d544ca
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Mon Oct 12 12:56:36 2015 +0530

    Bug #20007383: HANDLE_FATAL_SIGNAL (SIG=11) IN UPDATE_REF_AND_KEYS.
    
    Issue:
    ======
    The fulltext predicate is inside a subquery and involves
    an outer reference; it thus cannot be used for FT index look-up,
    but MySQL does not see it, which causes a illegal access.
    
    Solution:
    =========
    Solution is backported from bug#21140088. Outer reference can
    not be used as argument of the MATCH function. Added check for
    outer reference.

commit 8f6b29f37e26b704701fa9a5c586aa8040a33dbf
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Thu Oct 8 15:58:03 2015 +0530

    Bug #21467458 - UNINSTALL PLUGIN DAEMON_EXAMPLE CRASHES
                    MYSQLD.
    
    Post push to fix pb2 test case failure for Windows

commit f03c7f9691b13a6d4d9466e03a70c3fe0f93993f
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Oct 6 07:09:36 2015 +0530

    Bug #19894161: FATAL SIGNAL 11 IN
                   CONVERT_CHARSET_PARTITION_CONSTANT:
                   SQL/SQL_PARTITION..CC:202
    
    Issue:
    -----
    This problem happens under the following conditions:
    1) A table partitioned with a character column as the key.
    2) The expressions specified in the partition definition
       requires a charset conversion. This can happen when the
       server's default collation is different from the
       expression's collation.
    3) INSERT DELAYED is used to insert data into the table.
    
    SOLUTION:
    ---------
    While creating the delayed_insert object, initialize it
    with the relevant select_lex.

commit 451de8c7ab5e5fa05ae173f1cdc353a88e535d11
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Oct 1 07:45:27 2015 +0530

    Bug #19434916: FATAL_SIGNAL IN ADD_KEY_EQUAL_FIELDS() WITH
                   UPDATE VIEW USING OUTER SUBQUERY
    
    Issue:
    -----
    While resolving a column which refers to a table/view in an
    outer query, it's respecitve item object is marked with the
    outer query's select_lex object. But when the column refers
    to a view or if the column is part of a subquery in the
    HAVING clause, an Item_ref object is created. While the
    reference to the outer query is stored by the Item_ref
    object, the same is not stored in it's real_item.
    
    This creates a problem with the IN-TO-EXISTS optmization.
    When there is an index over the column in the inner query,
    it will be considered since the column's real_item object
    will be mistaken for a local field. This will lead to a
    crash.
    
    SOLUTION:
    ---------
    Under the current design, the only way to fix this issue is
    to check the reginfo.join_tab for a NULL value. If yes, the
    query should not be worrying about the key use.
    
    The testcase and comments added as part of the fix for
    Bug#17766653 have been backported.

commit cf8498f89d15179954e993175e23496478a31796
Merge: a5fa339 449e0e3
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Wed Sep 30 18:10:33 2015 +0530

    Merge branch 'mysql-5.5.46-release' into mysql-5.5

commit a5fa3397aa8fcc2d4cc246913faddd5a1f9a56a8
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Sep 30 10:27:26 2015 +0530

        BUG 21900800 - ADD OBSOLETE ON MYSQL-CONNECTOR-C-SHARED AND MYSQL-CONNECTOR-C-DEVEL
    
        As MySQL Connector C 6.1 is end of life, added conflict with mysql-connector-c-shared dependencies

commit e05558ba234cad2087de32709cd3a50d4e7f08cc
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Sep 22 16:52:18 2015 +0530

    Bug#20755615    CREATING INDEX ON A RENAMED COLUMN WITH CASE CRASH .FRM
                    FILE
    
    PROBLEM
    
    In 5.5 when doing doing a rename of a column ,we ignore the case between
    old and new column names while comparing them,so if the change is just
    the case then we don't even mark the field FIELD_IS_RENAMED ,we just update
    the frm file ,but don't recreate the table as is the norm when alter is
    used.This leads to inconsistency in the innodb data dictionary which causes
    index creation to fail.
    
    FIX
    
    According to the documentation any innodb column rename should trigger
    rebuild of the table. Therefore for innodb tables we will do a strcmp()
    between the column names and if there is case change in column name
    we will trigger a rebuild.

commit 161794ae70bbcb0e32399c4d49de8c66df9ca35d
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Sep 22 14:51:48 2015 +0530

    Bug #21370329 : FLUSH DES_KEY_FILE MAY NOT WORK
    
    Description: The command FLUSH DES_KEY_FILE is expected to
    reload the DES keys from the file that was specified with
    the "--des-key-file" option at server startup. But it is not
    behaving as expected.
    
    Analysis: The des file reload is defined within a wrong
    conditional directive, rendering the command ineffective.
    Macro "OPENSSL" was used instead of "HAVE_OPENSSL" macro.
    
    Fix: "OPENSSL" macro is changed to "HAVE_OPENSSL".

commit c62a790f954bc14de1013820d18550c3088bc0ac
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Tue Sep 22 06:21:13 2015 +0200

    Bug #19929435 DROP DATABASE HANGS WITH MALFORMED TABLE
    
    Note: Backporting the patch from mysql-5.6.
    
    Problem:
    
    A CREATE TABLE with an invalid table name is detected
    at SQL layer. So the table name is reset to an empty
    string.  But the storage engine is called with this
    empty table name.  The table name is specified as
    "database/table".  So, in the given scenario we get
    only "database/".
    
    Solution:
    
    Within InnoDB, detect this error and report it to
    higher layer.
    
    rb#9274 approved by jimmy.

commit 7f9941eab55ed672bfcccd382dafbdbcfdc75aaa
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Sep 18 11:18:25 2015 +0200

    Updated yassl to yassl-2.3.8

commit 6e21c8c04b922bdb60b6a7c174709d2e1bdd3618
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Sep 18 10:35:09 2015 +0200

    Bug #21025377 CAN'T CONNECT TO SSL ENABLED SERVER FIRST 30 SEC AFTER
    INITIAL STARTUP
    
    Updated yassl to yassl-2.3.7e

commit a22a8eaaa9694e0dc7e5aa0b03531b12e51c9fdc
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Sep 18 07:34:32 2015 +0530

    Bug #19929406: HANDLE_FATAL_SIGNAL (SIG=11) IN
                   __MEMMOVE_SSSE3_BACK FROM STRING::COPY
    
    Issue:
    -----
    While using row comparators, the store_value functions call
    val_xxx functions in the prepare phase. This can cause
    valgrind issues.
    
    SOLUTION:
    ---------
    Setting up of the comparators should be done by
    alloc_comparators in the prepare phase. Also, make sure
    store_value will be called only during execute phase.
    
    This is a backport of the fix for Bug#17755540.

commit 9d6402bfab6654fcec3cd68b6b701f63b0c47dc8
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Wed Sep 16 18:58:43 2015 +0530

    Bug #21467458 - UNINSTALL PLUGIN DAEMON_EXAMPLE CRASHES
                    MYSQLD.
    
    DESCRIPTION
    ===========
    Crash occurs when daemon_example plugin is uninstalled
    immediately after its installed. This can be reproduced
    by installing and uninstalling the plugin repeatedly.
    
    ANALYSIS
    ========
    The daemon_example_plugin_deinit() function of the daemon
    example plugin calls pthread_cancel() but doesn't wait for
    the worker thread to actually complete before deallocating
    the data buffer and closing the file that it writes to.
    This is causing SEGFAULT!
    
    FIX
    ===
    Added a pthread_join() to wait for the thread to complete
    before doing the cleanup work.
    
    Removed a stray 'x' variable from the example code.
    
    NOTE
    ====
    Have made an entry in .opt file as given below:
    --plugin-dir=$DAEMONEXAMPLE_DIR
    
    This is done so that the program takes plugin directory as
    ../<dbg>/plugin/daemon_example/ instead of
    ../lib/plugin/

commit 7c4a6409c0abdcfe4b1a0478b16b782984f11df9
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Fri Sep 11 10:32:10 2015 +0300

    Adapt to WL#8845 Implement an InnoDB redo log format version identifier
    
    recv_find_max_checkpoint(): Amend the error message to give advice
    about downgrading. The 5.7.9 redo log format was intentionally changed
    so that older MySQL versions will not find a valid redo log checkpoint.

commit abc5990be9b941fef1d277d91bffa4b1072c471d
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Sep 4 11:10:57 2015 +0530

    Bug #21503595 : --QUERY-ALLOC-BLOCK-SIZE=-1125899906842624 +
                    PID_FILE CHECK LEADS TO OOM SIG 11
    
    Description:- A server started with 'query_alloc_block_size'
    option set to a certain range of negative values on a
    machine without enough memory may lead to OOM.
    
    Analysis:- Server uses 'strtoull()' to convert server
    variable values of type 'GET_UINT', 'GET_ULONG' or 'GET_ULL'
    from string to unsigned long long. According to the man
    page, 'strtoull()' function returns either the result of the
    conversion or, if there was a leading minus sign, the
    negation of the result of the conversion represented as an
    unsigned value, unless the original(nonnegated) value would
    overflow; in the latter case, strtoull() returns ULLONG_MAX
    and sets errno to ERANGE. So 'strtoull()' converts a small
    negative value to a larger postive value. For example string
    '-1125899906842624' will be converted to an unsigned value,
    '18445618173802708992' (ulonglong typecast of
    '-1125899906842624'). So a
    server started with 'query_alloc_block_size' set to
    "-1125899906842624" on a machine without enough memory will
    lead to OOM since server allocates '18445618173802708992'
    bytes(17178820608 GB) for query allocation block.
    
    Fix:- When server is started with any server variable, of
    type "GET_UINT", "GET_ULONG" or "GET_ULL", set to a negative
    value, a warning, "option xxx: value -yyy adjusted to zzz"
    is thrown and the value is adjusted to the lowest possible
    value for that variable. The dynamic server variable which
    is configured through the client exhibit the same behavior
    as fix made for variables configured during the server
    start up.

commit cc869f0c06d3b1389673a5c860f56519d3ffc5bd
Merge: 282ed17 640ad34
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Sep 1 08:57:04 2015 +0200

    Empty version change upmerge

commit 640ad3443cb9bc82a47b8c3e23c403566134aad1
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Sep 1 08:53:15 2015 +0200

    Raise version number after tagging 5.1.77

commit 282ed178bb3e456cbdbc6b98032c36ccaa867f8f
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Mon Aug 31 20:36:03 2015 +0200

    Raise version number after cloning 5.5.46
