Browse Source

Merge branch 'maint-0.2.9'

Nick Mathewson 7 years ago
parent
commit
31f41fe096
2 changed files with 8 additions and 1 deletions
  1. 4 0
      changes/bug20560
  2. 4 1
      src/common/compat.c

+ 4 - 0
changes/bug20560

@@ -0,0 +1,4 @@
+  o Minor bugfixes (portability):
+    - Run correctly when built on Windows build environments that require
+      _vcsprintf(). Fixes bug 20560; bugfix on 0.2.2.11-alpha.
+

+ 4 - 1
src/common/compat.c

@@ -532,7 +532,10 @@ tor_vasprintf(char **strp, const char *fmt, va_list args)
   /* On Windows, _vsnprintf won't tell us the length of the string if it
    * overflows, so we need to use _vcsprintf to tell how much to allocate */
   int len, r;
-  len = _vscprintf(fmt, args);
+  va_list tmp_args;
+  va_copy(tmp_args, args);
+  len = _vscprintf(fmt, tmp_args);
+  va_end(tmp_args);
   if (len < 0) {
     *strp = NULL;
     return -1;