История изменений
Исправление shdown, (текущая версия) :
Возврат пустой строки? Под ноль память выделили, но не инициализировали.
Подсказка: он в строке
size++; /* For '\0' */
Вот лишнюю проверку что-то не нахожу. Или неужто vsnprintf не может вернуть ошибку, если первый раз выдало успех?
Именно. Это бы означало, что кто-то изменил форматную строку либо данные для неё, что есть UB.
Исходная версия shdown, :
Возврат пустой строки? Под ноль память выделили, но не инициализировали.
Подсказка: она в строке
size++; /* For '\0' */
Вот лишнюю проверку что-то не нахожу. Или неужто vsnprintf не может вернуть ошибку, если первый раз выдало успех?
Именно. Это бы означало, что кто-то изменил форматную строку либо данные для неё, что есть UB.