diff --git a/bin/pt-query-digest b/bin/pt-query-digest index bc858b15..00f473b0 100755 --- a/bin/pt-query-digest +++ b/bin/pt-query-digest @@ -4706,11 +4706,14 @@ sub parse_client_handshake_packet { return; } - my $code_len = hex($buff_len); + my $code_len = hex($buff_len); + # The (.*?)00.?\Z part in the regex, is to remove an erroneous + # null char + mysql_native_password after the db name + # https://bugs.launchpad.net/percona-toolkit/+bug/1402776 my ( $db ) = $data =~ m! ^.{64}${user}00.. # Everything matched before (?:..){$code_len} # The scramble buffer - (.*)00\Z # The database name + (.*?)00.*\Z # The database name !x; my $pkt = { user => to_string($user),