mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 11:01:52 +01:00
ndb - valgrind fixes
This commit is contained in:
parent
c199d7fd66
commit
b5eddef181
2 changed files with 9 additions and 3 deletions
|
@ -1004,6 +1004,11 @@ NdbDictInterface::getTable(const char * name, bool fullyQualifiedNames)
|
|||
return 0;
|
||||
}
|
||||
|
||||
// avoid alignment problem and memory overrun
|
||||
Uint32 name_buf[(MAX_TAB_NAME_SIZE + 3) / 4];
|
||||
strncpy((char*)name_buf, name, sizeof(name_buf)); // strncpy null-pads
|
||||
name = (char*)name_buf;
|
||||
|
||||
req->senderRef = m_reference;
|
||||
req->senderData = 0;
|
||||
req->requestType =
|
||||
|
@ -1015,7 +1020,7 @@ NdbDictInterface::getTable(const char * name, bool fullyQualifiedNames)
|
|||
tSignal.theLength = GetTabInfoReq::SignalLength;
|
||||
LinearSectionPtr ptr[1];
|
||||
ptr[0].p = (Uint32*)name;
|
||||
ptr[0].sz = strLen;
|
||||
ptr[0].sz = (strLen + 3) / 4;
|
||||
|
||||
return getTable(&tSignal, ptr, 1, fullyQualifiedNames);
|
||||
}
|
||||
|
|
|
@ -365,7 +365,7 @@ calcBval(const Bcol& b, Bval& v, bool keepsize)
|
|||
{
|
||||
if (b.m_nullable && urandom(10) == 0) {
|
||||
v.m_len = 0;
|
||||
delete v.m_val;
|
||||
delete [] v.m_val;
|
||||
v.m_val = 0;
|
||||
v.m_buf = new char [1];
|
||||
} else {
|
||||
|
@ -375,7 +375,7 @@ calcBval(const Bcol& b, Bval& v, bool keepsize)
|
|||
v.m_len = urandom(b.m_inline);
|
||||
else
|
||||
v.m_len = urandom(b.m_inline + g_opt.m_parts * b.m_partsize + 1);
|
||||
delete v.m_val;
|
||||
delete [] v.m_val;
|
||||
v.m_val = new char [v.m_len + 1];
|
||||
for (unsigned i = 0; i < v.m_len; i++)
|
||||
v.m_val[i] = 'a' + urandom(25);
|
||||
|
@ -1449,6 +1449,7 @@ testperf()
|
|||
if (! testcase('p'))
|
||||
return 0;
|
||||
DBG("=== perf test ===");
|
||||
g_bh1 = g_bh2 = 0;
|
||||
g_ndb = new Ndb(g_ncc, "TEST_DB");
|
||||
CHK(g_ndb->init() == 0);
|
||||
CHK(g_ndb->waitUntilReady() == 0);
|
||||
|
|
Loading…
Add table
Reference in a new issue