ARC and varargs causes BAD_ACCESS
===

I am going through a list of varargs and when I reach the last object in the list I always get a `BAD_ACCESS` error. I strongly assume that it is  an [ARC](http://clang.llvm.org/docs/AutomaticReferenceCounting.html) related issue.

This is what I do:

    -(void *)replaceTokensWithStrings:(NSString *)str1, ... {
    
        NSString *value;
        
        if (str1) {
        
            va_list strings;
            va_start(strings, str1);
            
            while ((value = va_arg(strings, id))) {
                // Usually doing something different here... just for debugging purposes :)
                NSLog(@"value = %@", value);
            }
        }   
    }

I have to somehow tell the compiler to retain the result returned by `va_arg` but I can't seem to figure out where and how to apply this paradigm.