Browse Source

test for failed "new" properly

Ian Goldberg 1 year ago
parent
commit
88ec550dee
1 changed files with 5 additions and 3 deletions
  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;
     }