itss: Enlarge buffer to include space for a concatenated value.

This commit is contained in:
Erich Hoover 2012-01-27 09:48:47 -07:00 committed by Alexandre Julliard
parent 8ab4f85bbb
commit 88f6e898c6

View file

@ -406,7 +406,6 @@ static HRESULT WINAPI ITSS_IStorageImpl_OpenStorage(
IStorage** ppstg)
{
ITSS_IStorageImpl *This = impl_from_IStorage(iface);
static const WCHAR szRoot[] = { '/', 0 };
struct chmFile *chmfile;
WCHAR *path, *p;
DWORD len;
@ -418,7 +417,7 @@ static HRESULT WINAPI ITSS_IStorageImpl_OpenStorage(
if( !chmfile )
return E_FAIL;
len = strlenW( This->dir ) + strlenW( pwcsName ) + 1;
len = strlenW( This->dir ) + strlenW( pwcsName ) + 2; /* need room for a terminating slash */
path = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
strcpyW( path, This->dir );
@ -435,10 +434,12 @@ static HRESULT WINAPI ITSS_IStorageImpl_OpenStorage(
*p = '/';
}
if(*--p == '/')
/* add a terminating slash if one does not already exist */
if(*(p-1) != '/')
{
*p++ = '/';
*p = 0;
strcatW( path, szRoot );
}
TRACE("Resolving %s\n", debugstr_w(path));