diff options
author | unknown <tomas@poseidon.mysql.com> | 2007-01-31 13:01:03 +0700 |
---|---|---|
committer | unknown <tomas@poseidon.mysql.com> | 2007-01-31 13:01:03 +0700 |
commit | 32026612f2adc79a70467adc2eb1409b9e3d8e11 (patch) | |
tree | e8a559763938022cc5a20a26f606b94019ab5b7d /storage | |
parent | 7c9da59b70d0fd1adf0b3b9b863ec37381adaee3 (diff) | |
download | mariadb-git-32026612f2adc79a70467adc2eb1409b9e3d8e11.tar.gz |
Bug#25239 Out of memory problem can cause crash in SUMA
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
return RNIL instead of ndbrequire if memory allocation fails
Diffstat (limited to 'storage')
-rw-r--r-- | storage/ndb/src/kernel/blocks/suma/Suma.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/storage/ndb/src/kernel/blocks/suma/Suma.cpp b/storage/ndb/src/kernel/blocks/suma/Suma.cpp index b201d05726d..7afedfbde71 100644 --- a/storage/ndb/src/kernel/blocks/suma/Suma.cpp +++ b/storage/ndb/src/kernel/blocks/suma/Suma.cpp @@ -4668,9 +4668,7 @@ Suma::out_of_buffer(Signal* signal) m_out_of_buffer_gci = m_last_complete_gci - 1; infoEvent("Out of event buffer: nodefailure will cause event failures"); - signal->theData[0] = SumaContinueB::OUT_OF_BUFFER_RELEASE; - signal->theData[1] = 0; - sendSignal(SUMA_REF, GSN_CONTINUEB, signal, 2, JBB); + out_of_buffer_release(signal, 0); } void @@ -4738,7 +4736,8 @@ loop: Uint32 count; m_tup->allocConsPages(16, count, ref); - ndbrequire(count > 0); + if (count == 0) + return RNIL; ndbout_c("alloc_chunk(%d %d) - ", ref, count); |