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.
This commit is contained in:
mronstrom@mysql.com 2004-09-02 15:13:50 +02:00
parent 22f21ba700
commit 99f9ff912f

View file

@ -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();