diff options
author | unknown <mronstrom@mysql.com> | 2004-09-02 15:13:50 +0200 |
---|---|---|
committer | unknown <mronstrom@mysql.com> | 2004-09-02 15:13:50 +0200 |
commit | 9e9490612ccb6130e9de90add1a54423b211b949 (patch) | |
tree | 2328ae7a05c9e91589b9fdfbd54506b6ecd6423a /ndb | |
parent | 58b03d4594f70a9a30accf244e669113e1798ddf (diff) | |
download | mariadb-git-9e9490612ccb6130e9de90add1a54423b211b949.tar.gz |
Fix for overwriting of the stack when table name length was larger
than 32 bytes. getWords interpreted length as number of words and
got number of bytes.
Diffstat (limited to 'ndb')
-rw-r--r-- | ndb/src/kernel/blocks/dbdict/Dbdict.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ndb/src/kernel/blocks/dbdict/Dbdict.cpp b/ndb/src/kernel/blocks/dbdict/Dbdict.cpp index d7c4b8a2222..7126842459e 100644 --- a/ndb/src/kernel/blocks/dbdict/Dbdict.cpp +++ b/ndb/src/kernel/blocks/dbdict/Dbdict.cpp @@ -5660,7 +5660,7 @@ void Dbdict::execGET_TABINFOREQ(Signal* signal) signal->getSection(ssPtr,GetTabInfoReq::TABLE_NAME); SimplePropertiesSectionReader r0(ssPtr, getSectionSegmentPool()); r0.reset(); // undo implicit first() - if(r0.getWords((Uint32*)tableName, len)) + if(r0.getWords((Uint32*)tableName, ((len + 3)/4))) memcpy(keyRecord.tableName, tableName, len); else { jam(); |