Index: src/of_asprintf.m ================================================================== --- src/of_asprintf.m +++ src/of_asprintf.m @@ -108,11 +108,11 @@ return -1; length = vsnprintf(*string, bufferLength - 1, format, arguments); - if (length > 0 && (size_t)length < bufferLength - 1) + if (length >= 0 && (size_t)length < bufferLength - 1) break; if (bufferLength > INT_MAX / 2) { free(*string); return -1;