From 642d97ced865307600a9d85257b23d61f1caa0c3 Mon Sep 17 00:00:00 2001 From: Bert Belder Date: Wed, 3 Aug 2011 02:09:37 +0200 Subject: [PATCH] Windows: make process arguments buffer computation better --- src/win/process.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/win/process.c b/src/win/process.c index 489c2a16c..4a53d7b72 100644 --- a/src/win/process.c +++ b/src/win/process.c @@ -423,13 +423,9 @@ static wchar_t* make_program_args(char** args) { arg_count++; } - /* Adjust for potential quotes. */ - size *= 2; - - /* Arguments are separated with a space. */ - if (arg_count > 0) { - size += arg_count - 1; - } + /* Adjust for potential quotes. Also assume the worst-case scenario + /* that every character needs escaping, so we need twice as much space. */ + size = size * 2 + arg_count * 2; dst = (wchar_t*)malloc(size); if (!dst) {