Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-40271

@@default_master_connection is corrupted if set to a string with null bytes

    XMLWordPrintable

Details

    • Unexpected results

    Description

      SET       @@SESSION.default_master_connection= 'A\0C';
      SELECT    @@SESSION.default_master_connection , #=> expected: A␀C, actual: A␀␀
        LENGTHB(@@SESSION.default_master_connection); #=> 3
      

      Analysis

      Sys_var_session_lexstring tracks a pointer-size pair, but copies the bytes with the null-terminated string function strmake() in ::session_update().
      (Inconsistently, THD::strmake() uses memcpy(), which is a pointer-size function.)

      Sys_var_session_lexstring has been merged away in 11.3 (Commit 6151bde48c); its only instance was @@default_master_connection.

      Attachments

        Issue Links

          Activity

            People

              ParadoxV5 Jimmy Hú
              ParadoxV5 Jimmy Hú
              Jimmy Hú Jimmy Hú
              Brandon Nesterenko Brandon Nesterenko
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - 0.5d Original Estimate - 0.5d
                  0.5d
                  Remaining:
                  Time Spent - 2h 10m Remaining Estimate - 2h 10m
                  2h 10m
                  Logged:
                  Time Spent - 2h 10m Remaining Estimate - 2h 10m
                  2h 10m

                  Git Integration

                    Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.