diff options
author | cbell/Chuck@mysql_cab_desk. <> | 2007-09-14 11:22:41 -0400 |
---|---|---|
committer | cbell/Chuck@mysql_cab_desk. <> | 2007-09-14 11:22:41 -0400 |
commit | 6f96967f0af1665ff71c1dc16630223001fbda0e (patch) | |
tree | 842348f926dc278b89c6761445c922cfa60b6090 /sql/rpl_utility.h | |
parent | 1835b16255a0fb9a2da63b3c12cf2a0dff8e6b00 (diff) | |
download | mariadb-git-6f96967f0af1665ff71c1dc16630223001fbda0e.tar.gz |
BUG#30790 : Suspicious code in rpl_utility.cc
This patch clarifies some of the coding choices with documentationa and
removes a limitation in the code for future expansion of the CHAR and
BINARY fields to length > 255.
Diffstat (limited to 'sql/rpl_utility.h')
-rw-r--r-- | sql/rpl_utility.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/sql/rpl_utility.h b/sql/rpl_utility.h index 4fd38022da0..f2ab34fe947 100644 --- a/sql/rpl_utility.h +++ b/sql/rpl_utility.h @@ -99,7 +99,7 @@ public: /* These types store a single byte. */ - m_field_metadata[i]= (uchar)field_metadata[index]; + m_field_metadata[i]= field_metadata[index]; index++; break; } @@ -107,14 +107,14 @@ public: case MYSQL_TYPE_ENUM: case MYSQL_TYPE_STRING: { - short int x= field_metadata[index++] << 8U; // real_type - x = x + field_metadata[index++]; // pack or field length + uint16 x= field_metadata[index++] << 8U; // real_type + x+= field_metadata[index++]; // pack or field length m_field_metadata[i]= x; break; } case MYSQL_TYPE_BIT: { - short int x= field_metadata[index++]; + uint16 x= field_metadata[index++]; x = x + (field_metadata[index++] << 8U); m_field_metadata[i]= x; break; @@ -125,14 +125,14 @@ public: These types store two bytes. */ char *ptr= (char *)&field_metadata[index]; - m_field_metadata[i]= sint2korr(ptr); + m_field_metadata[i]= uint2korr(ptr); index= index + 2; break; } case MYSQL_TYPE_NEWDECIMAL: { - short int x= field_metadata[index++] << 8U; // precision - x = x + field_metadata[index++]; // decimals + uint16 x= field_metadata[index++] << 8U; // precision + x+= field_metadata[index++]; // decimals m_field_metadata[i]= x; break; } |