@@ -208,14 +208,16 @@ for (size_t i = 1; i < count; i++) { objects[i] = va_arg(arguments, id); OFEnsure(objects[i] != nil); } - return [self initWithObjects: objects count: count]; + self = [self initWithObjects: objects count: count]; } @finally { OFFreeMemory(objects); } + + return self; } - (instancetype)initWithArray: (OFArray *)array { id *objects; @@ -231,14 +233,16 @@ [self release]; @throw e; } @try { - return [self initWithObjects: objects count: count]; + self = [self initWithObjects: objects count: count]; } @finally { OFFreeMemory(objects); } + + return self; } #ifdef __clang__ /* We intentionally don't call into super, so silence the warning. */ # pragma clang diagnostic push