summaryrefslogtreecommitdiffstats
path: root/winsup/utils/dumper.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/utils/dumper.cc')
-rw-r--r--winsup/utils/dumper.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/winsup/utils/dumper.cc b/winsup/utils/dumper.cc
index 6d48ff8bb..616c36bbe 100644
--- a/winsup/utils/dumper.cc
+++ b/winsup/utils/dumper.cc
@@ -888,7 +888,6 @@ main (int argc, char **argv)
int opt;
const char *p = "";
DWORD pid;
- char win32_name [MAX_PATH];
while ((opt = getopt_long (argc, argv, "dqhv", longopts, NULL) ) != EOF)
switch (opt)
@@ -911,8 +910,11 @@ main (int argc, char **argv)
if (argv && *(argv + optind) && *(argv + optind +1))
{
- *win32_name = '\0';
- cygwin_conv_to_win32_path (*(argv + optind), win32_name);
+ ssize_t len = cygwin_conv_path (CCP_POSIX_TO_WIN_A | CCP_RELATIVE,
+ *(argv + optind), NULL, 0);
+ char *win32_name = (char *) alloca (len);
+ cygwin_conv_path (CCP_POSIX_TO_WIN_A | CCP_RELATIVE, *(argv + optind),
+ win32_name, len);
if ((p = strrchr (win32_name, '\\')))
p++;
else