about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJesse Jones <jesse9jones@gmail.com>2012-12-11 19:20:39 -0800
committerBrian Anderson <banderson@mozilla.com>2012-12-15 22:38:20 -0800
commit81805e0568706534b8b1d136dc11ee7be001f4cb (patch)
treebaad8211defd57f94b9413f138e3bf2986072ed4
parent0402360abb95b4b9930ac74cf04bb22f343396e1 (diff)
downloadrust-81805e0568706534b8b1d136dc11ee7be001f4cb.tar.gz
rust-81805e0568706534b8b1d136dc11ee7be001f4cb.zip
Check for oom in a few more places
-rw-r--r--src/rt/memory_region.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/rt/memory_region.cpp b/src/rt/memory_region.cpp
index 3a04cfaf1f8..cedb42569a4 100644
--- a/src/rt/memory_region.cpp
+++ b/src/rt/memory_region.cpp
@@ -87,6 +87,10 @@ memory_region::realloc(void *mem, size_t orig_size) {
 
     size_t size = orig_size + HEADER_SIZE;
     alloc_header *newMem = (alloc_header *)::realloc(alloc, size);
+    if (newMem == NULL) {
+        fprintf(stderr, "memory_region::realloc> Out of memory allocating %ld bytes", size);
+        abort();
+    }
 
 #   if RUSTRT_TRACK_ALLOCATIONS >= 1
     assert(newMem->magic == MAGIC);
@@ -118,6 +122,10 @@ memory_region::malloc(size_t size, const char *tag, bool zero) {
     size_t old_size = size;
     size += HEADER_SIZE;
     alloc_header *mem = (alloc_header *)::malloc(size);
+    if (mem == NULL) {
+        fprintf(stderr, "memory_region::malloc> Out of memory allocating %ld bytes", size);
+        abort();
+    }
 
 #   if RUSTRT_TRACK_ALLOCATIONS >= 1
     mem->magic = MAGIC;