On 4/25/22 16:51, Huw Davies wrote:
On Mon, Apr 25, 2022 at 03:49:09PM +0200, Jacek Caban wrote:
@@ -1352,11 +1354,11 @@ static BOOL export_hdrop( Display *display, Window win, Atom prop, Atom target, UINT u;
dosFilenameSize = 1 + DragQueryFileW( handle, i, NULL, 0 );
dosFilename = HeapAlloc(GetProcessHeap(), 0, dosFilenameSize*sizeof(WCHAR));
dosFilename = malloc( dosFilenameSize * sizeof(WCHAR) ); if (dosFilename == NULL) goto failed; DragQueryFileW( handle, i, dosFilename, dosFilenameSize ); unixFilename = wine_get_unix_file_name(dosFilename);
HeapFree(GetProcessHeap(), 0, dosFilename);
free( dosFilename ); if (unixFilename == NULL) goto failed; uriSize = 8 + /* file:/// */ 3 * (lstrlenA(unixFilename) - 1) + /* "%xy" per char except first '/' */
@@ -1364,7 +1366,7 @@ static BOOL export_hdrop( Display *display, Window win, Atom prop, Atom target, if ((next + uriSize) > textUriListSize) { UINT biggerSize = max( 2 * textUriListSize, next + uriSize );
void *bigger = HeapReAlloc( GetProcessHeap(), 0, textUriList, biggerSize );
void *bigger = realloc( textUriList, biggerSize ); if (bigger) { textUriList = bigger;
@@ -1372,7 +1374,7 @@ static BOOL export_hdrop( Display *display, Window win, Atom prop, Atom target, } else {
HeapFree(GetProcessHeap(), 0, unixFilename);
free( unixFilename );
unixFilename is returned by wine_get_unix_file_name() so is on the process heap. Likewise in the hunk below.
Good catch, there was also wine_get_dos_file_name. I have those converted in my WIP tree, but that's not yet ready for sending. Clipboard code will need quite a few changes...
Thanks,
Jacek