Remove malloc failure checks

We trust zmalloc to kill the whole process on memory failure
This commit is contained in:
Matt Stancliff 2014-12-10 20:37:15 -05:00
parent e0d94a7b01
commit 8d7021892e

View File

@ -67,14 +67,11 @@ static const size_t optimization_level[] = { 4096, 8192, 16384, 32768, 65536 };
} while (0) } while (0)
/* Create a new quicklist. /* Create a new quicklist.
* Free with quicklistRelease(). * Free with quicklistRelease(). */
*
* On error, NULL is returned. Otherwise the pointer to the new quicklist. */
quicklist *quicklistCreate(void) { quicklist *quicklistCreate(void) {
struct quicklist *quicklist; struct quicklist *quicklist;
if ((quicklist = zmalloc(sizeof(*quicklist))) == NULL) quicklist = zmalloc(sizeof(*quicklist));
return NULL;
quicklist->head = quicklist->tail = NULL; quicklist->head = quicklist->tail = NULL;
quicklist->len = 0; quicklist->len = 0;
quicklist->count = 0; quicklist->count = 0;
@ -83,8 +80,7 @@ quicklist *quicklistCreate(void) {
static quicklistNode *quicklistCreateNode(void) { static quicklistNode *quicklistCreateNode(void) {
quicklistNode *node; quicklistNode *node;
if ((node = zmalloc(sizeof(*node))) == NULL) node = zmalloc(sizeof(*node));
return NULL;
node->zl = NULL; node->zl = NULL;
node->count = 0; node->count = 0;
node->sz = 0; node->sz = 0;
@ -537,14 +533,7 @@ static quicklistNode *_quicklistSplitNode(quicklistNode *node, int offset,
size_t zl_sz = ziplistBlobLen(node->zl); size_t zl_sz = ziplistBlobLen(node->zl);
quicklistNode *new_node = quicklistCreateNode(); quicklistNode *new_node = quicklistCreateNode();
if (!new_node)
return NULL;
new_node->zl = zmalloc(zl_sz); new_node->zl = zmalloc(zl_sz);
if (!new_node->zl) {
zfree(new_node);
return NULL;
}
/* Copy original ziplist so we can split it */ /* Copy original ziplist so we can split it */
memcpy(new_node->zl, node->zl, zl_sz); memcpy(new_node->zl, node->zl, zl_sz);
@ -782,8 +771,7 @@ int quicklistCompare(unsigned char *p1, unsigned char *p2, int p2_len) {
quicklistIter *quicklistGetIterator(const quicklist *quicklist, int direction) { quicklistIter *quicklistGetIterator(const quicklist *quicklist, int direction) {
quicklistIter *iter; quicklistIter *iter;
if ((iter = zmalloc(sizeof(*iter))) == NULL) iter = zmalloc(sizeof(*iter));
return NULL;
if (direction == AL_START_HEAD) { if (direction == AL_START_HEAD) {
iter->current = quicklist->head; iter->current = quicklist->head;
@ -904,7 +892,7 @@ int quicklistNext(quicklistIter *iter, quicklistEntry *entry) {
} }
} }
/* Duplicate the quicklist. On out of memory NULL is returned. /* Duplicate the quicklist.
* On success a copy of the original quicklist is returned. * On success a copy of the original quicklist is returned.
* *
* The original quicklist both on success or error is never modified. * The original quicklist both on success or error is never modified.
@ -912,20 +900,15 @@ int quicklistNext(quicklistIter *iter, quicklistEntry *entry) {
* Returns newly allocated quicklist. */ * Returns newly allocated quicklist. */
quicklist *quicklistDup(quicklist *orig) { quicklist *quicklistDup(quicklist *orig) {
quicklist *copy; quicklist *copy;
int failure = 0;
if ((copy = quicklistCreate()) == NULL) copy = quicklistCreate();
return NULL;
for (quicklistNode *current = orig->head; current; for (quicklistNode *current = orig->head; current;
current = current->next) { current = current->next) {
quicklistNode *node = quicklistCreateNode(); quicklistNode *node = quicklistCreateNode();
size_t ziplen = ziplistBlobLen(current->zl); size_t ziplen = ziplistBlobLen(current->zl);
if ((node->zl = zmalloc(ziplen)) == NULL) { node->zl = zmalloc(ziplen);
failure = 1;
break;
}
memcpy(node->zl, current->zl, ziplen); memcpy(node->zl, current->zl, ziplen);
node->count = current->count; node->count = current->count;
@ -936,12 +919,6 @@ quicklist *quicklistDup(quicklist *orig) {
} }
/* copy->count must equal orig->count here */ /* copy->count must equal orig->count here */
if (failure) {
quicklistRelease(copy);
return NULL;
}
return copy; return copy;
} }
@ -1100,8 +1077,7 @@ int quicklistPopCustom(quicklist *quicklist, int where, unsigned char **data,
static void *_quicklistSaver(unsigned char *data, unsigned int sz) { static void *_quicklistSaver(unsigned char *data, unsigned int sz) {
unsigned char *vstr; unsigned char *vstr;
if (data) { if (data) {
if ((vstr = zmalloc(sz)) == NULL) vstr = zmalloc(sz);
return 0;
memcpy(data, vstr, sz); memcpy(data, vstr, sz);
return vstr; return vstr;
} }