浏览代码

test for failed "new" properly

Ian Goldberg 1 年之前
父节点
当前提交
88ec550dee
共有 1 个文件被更改,包括 5 次插入3 次删除
  1. 5 3
      Enclave/sort.cpp

+ 5 - 3
Enclave/sort.cpp

@@ -27,11 +27,13 @@ static EvalPlans precomp_eps;
 
 void sort_precompute(uint32_t N)
 {
-    uint32_t *random_permutation = new uint32_t[N];
-    if (!random_permutation) {
+    uint32_t *random_permutation = NULL;
+    try {
+        random_permutation = new uint32_t[N];
+    } catch (std::bad_alloc&) {
         printf("Allocating memory failed in sort_precompute\n");
+        assert(false);
     }
-    assert(random_permutation);
     for (uint32_t i=0;i<N;++i) {
         random_permutation[i] = i;
     }