Handle NULL arguments to block copy / release.

main
theraven 15 years ago
parent 83db079968
commit 61a7c53a08

@ -455,6 +455,7 @@ void _Block_object_dispose(const void *object, const int flags)
// Copy a block to the heap if it's still on the stack or increments its retain count. // Copy a block to the heap if it's still on the stack or increments its retain count.
void *_Block_copy(void *src) void *_Block_copy(void *src)
{ {
if (NULL == src) { return NULL; }
fprintf(stderr, "_Block_copy()\n"); fprintf(stderr, "_Block_copy()\n");
struct block_literal *self = src; struct block_literal *self = src;
struct block_literal *ret = self; struct block_literal *ret = self;
@ -485,6 +486,7 @@ void *_Block_copy(void *src)
// Release a block and frees the memory when the retain count hits zero. // Release a block and frees the memory when the retain count hits zero.
void _Block_release(void *src) void _Block_release(void *src)
{ {
if (NULL == src) { return; }
struct block_literal *self = src; struct block_literal *self = src;
extern void _NSConcreteStackBlock; extern void _NSConcreteStackBlock;

Loading…
Cancel
Save