summaryrefslogtreecommitdiff
path: root/storage/ndb/src/kernel/blocks/suma
diff options
context:
space:
mode:
authorunknown <tomas@poseidon.mysql.com>2007-01-31 13:01:03 +0700
committerunknown <tomas@poseidon.mysql.com>2007-01-31 13:01:03 +0700
commit32026612f2adc79a70467adc2eb1409b9e3d8e11 (patch)
treee8a559763938022cc5a20a26f606b94019ab5b7d /storage/ndb/src/kernel/blocks/suma
parent7c9da59b70d0fd1adf0b3b9b863ec37381adaee3 (diff)
downloadmariadb-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/ndb/src/kernel/blocks/suma')
-rw-r--r--storage/ndb/src/kernel/blocks/suma/Suma.cpp7
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);