- while (argc > i++) {
- phpstr_free_t f = va_arg(argv, phpstr_free_t);
- phpstr *current = va_arg(argv, phpstr *);
- phpstr_append(buf, current->data, current->used);
- FREE_PHPSTR(f, current);
+ if (buf) {
+ while (argc > i++) {
+ phpstr_free_t f = va_arg(argv, phpstr_free_t);
+ phpstr *current = va_arg(argv, phpstr *);
+ phpstr_append(buf, current->data, current->used);
+ FREE_PHPSTR(f, current);
+ }