From: Mayank Prasad Date: February 4 2012 7:04pm Subject: [Resend] bzr commit into mysql-trunk-wl5767 branch (mayank.prasad:3428) WL#5767 List-Archive: http://lists.mysql.com/commits/142756 Message-Id: <201202041904.q14J4i06006984@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1122784321==" --===============1122784321== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline [This commit e-mail is a repeat.] #At file:///home/mayank/mysql-tree/my_WL/5767/ based on revid:mayank.prasad@stripped 3428 Mayank Prasad 2012-02-05 WL#5767: Performance Schema, Statements Digest Details: - probable fix for failing test case on PB2. - A little Code cleanup. modified: storage/perfschema/pfs_digest.cc storage/perfschema/pfs_digest.h === modified file 'storage/perfschema/pfs_digest.cc' --- a/storage/perfschema/pfs_digest.cc 2012-02-03 16:00:30 +0000 +++ b/storage/perfschema/pfs_digest.cc 2012-02-04 19:02:49 +0000 @@ -440,7 +440,7 @@ PSI_digest_locker* pfs_digest_add_token_ /* If digest storage record is full, do nothing. */ - return locker; + return NULL; } /* === modified file 'storage/perfschema/pfs_digest.h' --- a/storage/perfschema/pfs_digest.h 2012-02-03 16:00:30 +0000 +++ b/storage/perfschema/pfs_digest.h 2012-02-04 19:02:49 +0000 @@ -104,9 +104,16 @@ PSI_digest_locker* pfs_digest_add_token_ inline void read_token(uint *dest, int *index, char *src) { unsigned short sh; - sh= ((0x00ff & src[*index + 1])<<8) | (0x00ff & src[*index]); - *dest= (uint)(sh); - *index= *index + PFS_SIZE_OF_A_TOKEN; + int remaining_bytes= PFS_MAX_DIGEST_STORAGE_SIZE - *index; + DBUG_ASSERT(remaining_bytes >= 0); + + /* Make sure we have enough space to read a token. */ + if(remaining_bytes >= PFS_SIZE_OF_A_TOKEN) + { + sh= ((0x00ff & src[*index + 1])<<8) | (0x00ff & src[*index]); + *dest= (uint)(sh); + *index= *index + PFS_SIZE_OF_A_TOKEN; + } } /** @@ -117,11 +124,17 @@ inline void store_token(PFS_digest_stora char* dest= digest_storage->m_token_array; int* index= &digest_storage->m_byte_count; unsigned short sh= (unsigned short)token; + int remaining_bytes= PFS_MAX_DIGEST_STORAGE_SIZE - *index; + DBUG_ASSERT(remaining_bytes >= 0); - dest[*index]= (sh) & 0xff; - *index= *index + 1; - dest[*index]= (sh>>8) & 0xff; - *index= *index + 1; + /* Make sure we have enough space to store a token. */ + if(remaining_bytes >= PFS_SIZE_OF_A_TOKEN) + { + dest[*index]= (sh) & 0xff; + *index= *index + 1; + dest[*index]= (sh>>8) & 0xff; + *index= *index + 1; + } } /** --===============1122784321== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/mayank.prasad@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: mayank.prasad@stripped\ # vnp89rceusz239ka # target_branch: file:///home/mayank/mysql-tree/my_WL/5767/ # testament_sha1: 0577beb645c261e453faf3c657cf9493e457eb1f # timestamp: 2012-02-05 00:34:34 +0530 # source_branch: file:///home/mayank/mysql-tree/my_WL/5767/ # base_revision_id: mayank.prasad@stripped\ # d4yscb8omdixz0nh # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWZe2tXEAAqPfgEAQWX///3+v 3tq////+UAWb1sDoSaKCgA0EohUe1TaJ6TAmm0ZTIDaI/VNADIAAABKU0GQp5knlT0ahoaAAAAAA AABqp+k0IZBoZMhpoBoAAAAAaAA4BhGE0xDAIBkAMI0yZMIwENBJIE0BGkxoCZNT1G1NNBogNqYm mTEwjNQwAaejLN/iRMXPMwCZMcD6RjQmzhoKKyAcNOHiKBVM6gk8c7bVtofKPPlATgRSew4d1Lli GW8+4dRUbD2BYERAESYenDkJTicM66AQJF0wJh2o+fhJI5IM7/IC/GwN3SsVwqT+j6FjssT5VLuj +tNMiUhKOew1MUY1PUvEKD/Ig46xis77G7axV0ONszf0akPZB6akdjHtOQ65j1GLExmuPjBvMUHo Y+LJycnBjY8hy2jYERio+qFnOsuQxyxy72oDsiUPktol9nLwCXiOYJ1UGM8/QSBMx5UM4vQy19Re K8ZCgxFwbpGWKFzAVk0PRgwDphAawedQ+YMvpeRfS4qO5HEvPEUOLWBng45TIrySBwRP9MXnjBUC vcRlTTcVDEEXgiU2S2Vc2AOlJBhizKl0XDkG3No4ZhQRGe2fJAzuLCA20ng4okECinWYqSNGXSkF KSghTrNYENBAiBsIYDx1l7kalE23FCIFDkOlDOV55kbH1yAoK6pPUEXzCIGqKlWRUkw4Y2adlQED e1SuKyaLM9xkJtAIaqzYictnbitiZjKZy0jSOg2yICJIPHj76ikW97rhIkjJnKJJKzOLLLStdRec bZLUTE45ZAoFWNCFUmUZD3lJydFdBIJXBQye/eJXDHADHO9tEjLThmHI5lRLGBmeBwIZK6mGxYWk 5XFbgLwP1ry4pM2bHVB7Pm0WFQyg4Gk0FQiUS75wLIK+sQZcdjTWogT6SXywKNpXFWgvoxVXBAip hZESd8T7HwGVOM+ThzDe49U1Ig77EvkvmfIgmKkfNfM9p9C4miK+vRHEXHovTnr+UOAmQKSKKxh5 9USMxBSDynGukxo8xvOHQxnLl9iwxoZZCtfoLiJsUy8iN12hzlsVOxFHBBTHXOIymbkdl5kzCJJV USa2I+CPRfjF1nrykIS9aSr7bUoJLfIobMVuEuOEjM3MyPffcRu49h0i7AKahiOscPcdo8107VmO f0kNiPYsZM5zbI+9QEIbu/UUPYSs3FglzQMPYZ6cT0VZi0PXQDoIpEoGvB/9e8oBaTSZFrFvRZX7 aNPP+CC7jPyKCgiAdXT3jg5OO8e63d4jIb/B1MOtLUXWvtJFwzaC7ks0blwSMMI9KglW2bI1LqPY FqzF0zkqtEmfoewpp/bVoAZEAUkR1EzhukOMB2vArmc0XLQfkVr3HIoWxr2N+YTx0O4YWMVKXjMD o0jGRwzCsJhU0FoLznMYn72xlG/pQ0KzBbWFoFl4DSJcEeEFdxtFQKRh8NmeeCO+jkcbL8iJD2Lt TCTdIGM8JoRqChE3Bn3HXUJOBmz1ZM8CZeOqtQoINgZkf0e5MO0SRYNRCkquIyiqyVcSYwXFBFAP YDejc4UElI1APThMyHuWnKVfhnFyF4UMW0I65E/wJTE4OTlj2mjM4DWWZ2GDORWkm2lhmrq8AlTT STzeIwT0g2+OsSxG8CNpZ3gYrS8t3RBWhwpCmzPB0YgwQvcYCfYksX5ogRhbiMTOOhrTahjcWBxy BWhUIczGQDFa2wGFuGew82QZHvRy0vEoQg4lx8TRiwpEqQliBhU6chbMxKFgWEE5GYDrLTuIBb0n YG4gA8ZEEXrici1JedExaEXgQmqbi5H/i7kinChIS9tauIA= --===============1122784321==--