gfx/angle/angle-abort-on-oom-in-preprocessor.patch
author Kyle Machulis <kyle@nonpolynomial.com>
Wed, 05 Sep 2012 20:06:06 -0700
changeset 104409 b5f9c880652ac1acb2b6428994a66fdbe66a29d6
parent 100453 c2c60b40fa7fc705db72242c97d49a82403d50ee
permissions -rw-r--r--
Bug 756299: Patch 1 - IPC Socket Functions; r=mrbkap

# HG changeset patch
# Parent 11023ab3d23865b71678e9a4b22a45646ec0c0f0
diff --git a/gfx/angle/src/compiler/preprocessor/atom.c b/gfx/angle/src/compiler/preprocessor/atom.c
--- a/gfx/angle/src/compiler/preprocessor/atom.c
+++ b/gfx/angle/src/compiler/preprocessor/atom.c
@@ -327,22 +327,17 @@ static int GrowAtomTable(AtomTable *atab
             newmap = realloc(atable->amap, sizeof(int)*size);
             newrev = realloc(atable->arev, sizeof(int)*size);
         } else {
             newmap = malloc(sizeof(int)*size);
             newrev = malloc(sizeof(int)*size);
             atable->size = 0;
         }
         if (!newmap || !newrev) {
-            /* failed to grow -- error */
-            if (newmap)
-                atable->amap = newmap;
-            if (newrev)
-                atable->arev = newrev;
-            return -1;
+            abort();
         }
         memset(&newmap[atable->size], 0, (size - atable->size) * sizeof(int));
         memset(&newrev[atable->size], 0, (size - atable->size) * sizeof(int));
         atable->amap = newmap;
         atable->arev = newrev;
         atable->size = size;
     }
     return 0;