Commit d5bf76c1 authored by unknown's avatar unknown

Fix for bug overwriting stack when table name larger than 32 bytes.

getWords interprets the length as number of words and previously
number of bytes was sent in.

parent 069c47d2
...@@ -5660,7 +5660,7 @@ void Dbdict::execGET_TABINFOREQ(Signal* signal) ...@@ -5660,7 +5660,7 @@ void Dbdict::execGET_TABINFOREQ(Signal* signal)
signal->getSection(ssPtr,GetTabInfoReq::TABLE_NAME); signal->getSection(ssPtr,GetTabInfoReq::TABLE_NAME);
SimplePropertiesSectionReader r0(ssPtr, getSectionSegmentPool()); SimplePropertiesSectionReader r0(ssPtr, getSectionSegmentPool());
r0.reset(); // undo implicit first() r0.reset(); // undo implicit first()
if(r0.getWords((Uint32*)tableName, len)) if(r0.getWords((Uint32*)tableName, ((len + 3)/4)))
memcpy(keyRecord.tableName, tableName, len); memcpy(keyRecord.tableName, tableName, len);
else { else {
jam(); jam();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment