summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <monty@narttu.mysql.fi>2003-03-21 11:49:17 +0200
committerunknown <monty@narttu.mysql.fi>2003-03-21 11:49:17 +0200
commit08733cbd5b39891ddf1600ff203ebd83e52735ce (patch)
tree2e8fffde67ae15ada251a048d0dc200e560e8c06
parentd7bccdbe817be53d38cba08648998ad24626aa9b (diff)
downloadmariadb-git-08733cbd5b39891ddf1600ff203ebd83e52735ce.tar.gz
Fixed reference to uninitialized memory
mysql-test/t/innodb.test: Another fix to take InnoDB cardinality changes into account
-rw-r--r--mysql-test/t/innodb.test2
-rw-r--r--strings/ctype-utf8.c15
2 files changed, 8 insertions, 9 deletions
diff --git a/mysql-test/t/innodb.test b/mysql-test/t/innodb.test
index c85f2192437..0a10df52412 100644
--- a/mysql-test/t/innodb.test
+++ b/mysql-test/t/innodb.test
@@ -49,7 +49,7 @@ select * from t1 where parent_id=102;
explain select level from t1 where level=1;
--replace_result 12 # 6 #
explain select level,id from t1 where level=1;
---replace_result 12 # 6 #
+--replace_result 12 # 6 # 5 #
explain select level,id,parent_id from t1 where level=1;
select level,id from t1 where level=1;
select level,id,parent_id from t1 where level=1;
diff --git a/strings/ctype-utf8.c b/strings/ctype-utf8.c
index 897e2846659..702a34fde84 100644
--- a/strings/ctype-utf8.c
+++ b/strings/ctype-utf8.c
@@ -1585,14 +1585,15 @@ static uchar to_upper_utf8[] = {
};
-static int my_utf8_uni (CHARSET_INFO *cs __attribute__((unused)) ,
- my_wc_t * pwc, const uchar *s, const uchar *e)
+static int my_utf8_uni(CHARSET_INFO *cs __attribute__((unused)),
+ my_wc_t * pwc, const uchar *s, const uchar *e)
{
- unsigned char c = s[0];
+ unsigned char c;
if (s >= e)
return MY_CS_TOOFEW(0);
+ c= s[0];
if (c < 0x80)
{
*pwc = c;
@@ -1624,10 +1625,8 @@ static int my_utf8_uni (CHARSET_INFO *cs __attribute__((unused)) ,
(my_wc_t) (s[2] ^ 0x80);
return 3;
-
-#ifdef UNICODE_32BIT
-
}
+#ifdef UNICODE_32BIT
else if (c < 0xf8 && sizeof(my_wc_t)*8 >= 32)
{
if (s+4 > e) /* We need 4 characters */
@@ -1685,9 +1684,9 @@ static int my_utf8_uni (CHARSET_INFO *cs __attribute__((unused)) ,
| ((my_wc_t) (s[4] ^ 0x80) << 6)
| (my_wc_t) (s[5] ^ 0x80);
return 6;
+ }
#endif
- } else
- return MY_CS_ILSEQ;
+ return MY_CS_ILSEQ;
}
static int my_uni_utf8 (CHARSET_INFO *cs __attribute__((unused)) ,