diff options
author | unknown <jonas@perch.ndb.mysql.com> | 2005-12-14 14:03:50 +0100 |
---|---|---|
committer | unknown <jonas@perch.ndb.mysql.com> | 2005-12-14 14:03:50 +0100 |
commit | ed7eaa4cca10cee8023e6ac22bf0e215f9f0fb85 (patch) | |
tree | 7454f289e591cad8ff5cf6f4617304bb411a9800 | |
parent | 2d40e252310f491abc744eced6b20c4648f42fcf (diff) | |
parent | 57722e137efe1b20820fd972706c881cc69386c0 (diff) | |
download | mariadb-git-ed7eaa4cca10cee8023e6ac22bf0e215f9f0fb85.tar.gz |
Merge perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-push
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new
mysql-test/r/ndb_basic.result:
Auto merged
mysql-test/t/ndb_basic.test:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
storage/ndb/src/kernel/vm/SimulatedBlock.cpp:
merge
-rw-r--r-- | extra/innochecksum.c | 2 | ||||
-rw-r--r-- | storage/ndb/src/kernel/vm/SimulatedBlock.cpp | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/extra/innochecksum.c b/extra/innochecksum.c index bae5f3e8821..eda5cef4647 100644 --- a/extra/innochecksum.c +++ b/extra/innochecksum.c @@ -28,7 +28,7 @@ #define _LARGEFILE_SOURCE #define _LARGEFILE64_SOURCE -#define _XOPEN_SOURCE /* needed to include getopt.h on some platforms. */ +#define _XOPEN_SOURCE 500 /* needed to include getopt.h on some platforms. */ #include <stdio.h> #include <stdlib.h> diff --git a/storage/ndb/src/kernel/vm/SimulatedBlock.cpp b/storage/ndb/src/kernel/vm/SimulatedBlock.cpp index 9d6919482cb..c6434a8255e 100644 --- a/storage/ndb/src/kernel/vm/SimulatedBlock.cpp +++ b/storage/ndb/src/kernel/vm/SimulatedBlock.cpp @@ -1886,6 +1886,8 @@ SimulatedBlock::xfrm_key(Uint32 tab, const Uint32* src, xfrm_attr(keyAttr.attributeDescriptor, keyAttr.charsetInfo, src, srcPos, dst, dstPos, dstSize); keyPartLen[i++] = dstWords; + if (unlikely(dstWords == 0)) + return 0; } if (0) @@ -1952,7 +1954,8 @@ SimulatedBlock::xfrm_attr(Uint32 attrDesc, CHARSET_INFO* cs, AttributeDescriptor::getType(attrDesc); Uint32 lb, len; bool ok = NdbSqlUtil::get_var_length(typeId, srcPtr, srcBytes, lb, len); - ndbrequire(ok); + if (unlikely(!ok)) + return 0; Uint32 xmul = cs->strxfrm_multiply; if (xmul == 0) xmul = 1; @@ -1963,7 +1966,8 @@ SimulatedBlock::xfrm_attr(Uint32 attrDesc, CHARSET_INFO* cs, Uint32 dstLen = xmul * (srcBytes - lb); ndbrequire(dstLen <= ((dstSize - dstPos) << 2)); int n = NdbSqlUtil::strnxfrm_bug7284(cs, dstPtr, dstLen, srcPtr + lb, len); - ndbrequire(n != -1); + if (unlikely(n == -1)) + return 0; while ((n & 3) != 0) { dstPtr[n++] = 0; |