From 0d7e1a88af12a2e71eb96bdb5c60abd42b06ac9d Mon Sep 17 00:00:00 2001 From: Thorsten Engel Date: Sat, 7 May 2005 23:44:07 +0000 Subject: [PATCH] cygwin_conv with length check git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@2009 91ce42f0-d328-0410-95d8-f526ca767f89 --- bacula/src/findlib/attribs.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bacula/src/findlib/attribs.c b/bacula/src/findlib/attribs.c index 90db4b21af..a9c692e076 100755 --- a/bacula/src/findlib/attribs.c +++ b/bacula/src/findlib/attribs.c @@ -659,13 +659,15 @@ void win_error(JCR *jcr, char *prefix, DWORD lerror) /* Cygwin API definition */ -extern "C" void cygwin_conv_to_win32_path(const char *path, char *win32_path); +extern "C" void cygwin_conv_to_win32_path(const char *path, char *win32_path, DWORD dwSize); void unix_name_to_win32(POOLMEM **win32_name, char *name) { /* One extra byte should suffice, but we double it */ - *win32_name = check_pool_memory_size(*win32_name, 2*strlen(name)+1); - cygwin_conv_to_win32_path(name, *win32_name); + /* add MAX_PATH bytes for VSS shadow copy name */ + DWORD dwSize = 2*strlen(name)+MAX_PATH; + *win32_name = check_pool_memory_size(*win32_name, dwSize); + cygwin_conv_to_win32_path(name, *win32_name, dwSize); } #endif /* HAVE_CYGWIN */ -- 2.39.5