|
@@ -554,13 +554,16 @@ tor_vasprintf(char **strp, const char *fmt, va_list args)
|
|
|
* characters we need. We give it a try on a short buffer first, since
|
|
|
* it might be nice to avoid the second vsnprintf call.
|
|
|
*/
|
|
|
+ /* XXXX This code spent a number of years broken (see bug 30651). It is
|
|
|
+ * possible that no Tor users actually run on systems without vasprintf() or
|
|
|
+ * _vscprintf(). If so, we should consider removing this code. */
|
|
|
char buf[128];
|
|
|
int len, r;
|
|
|
va_list tmp_args;
|
|
|
va_copy(tmp_args, args);
|
|
|
- /* Use vsnprintf to retrieve needed length. tor_vsnprintf() is not an option
|
|
|
- * here because it will simply return -1 if buf is not large enough to hold the
|
|
|
- * complete string.
|
|
|
+ /* Use vsnprintf to retrieve needed length. tor_vsnprintf() is not an
|
|
|
+ * option here because it will simply return -1 if buf is not large enough
|
|
|
+ * to hold the complete string.
|
|
|
*/
|
|
|
len = vsnprintf(buf, sizeof(buf), fmt, tmp_args);
|
|
|
va_end(tmp_args);
|
|
@@ -3550,4 +3553,3 @@ tor_get_avail_disk_space(const char *path)
|
|
|
return -1;
|
|
|
#endif
|
|
|
}
|
|
|
-
|