Author: cwittich Date: Sun Jan 17 09:29:56 2010 New Revision: 45119
URL: http://svn.reactos.org/svn/reactos?rev=45119&view=rev Log: [advpack] update advpack to wine 1.1.36
Modified: trunk/reactos/dll/win32/advpack/files.c
Modified: trunk/reactos/dll/win32/advpack/files.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advpack/files.c?r... ============================================================================== --- trunk/reactos/dll/win32/advpack/files.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advpack/files.c [iso-8859-1] Sun Jan 17 09:29:56 2010 @@ -279,13 +279,13 @@ if (lpszDestFile) { dwLen = lstrlenW(lpszDestFile); - szDestFilename = HeapAlloc(GetProcessHeap(), 0, dwLen * sizeof(WCHAR)); + szDestFilename = HeapAlloc(GetProcessHeap(), 0, (dwLen+1) * sizeof(WCHAR)); lstrcpyW(szDestFilename, lpszDestFile); } else { dwLen = lstrlenW(lpszSourceFile); - szDestFilename = HeapAlloc(GetProcessHeap(), 0, dwLen * sizeof(WCHAR)); + szDestFilename = HeapAlloc(GetProcessHeap(), 0, (dwLen+1) * sizeof(WCHAR)); lstrcpyW(szDestFilename, lpszSourceFile); }
@@ -648,6 +648,18 @@ return dwNumFound; }
+static void free_file_list(SESSION* session) +{ + struct FILELIST *next, *curr = session->FileList; + + while (curr) + { + next = curr->next; + free_file_node(curr); + curr = next; + } +} + /*********************************************************************** * ExtractFilesA (ADVPACK.@) * @@ -728,20 +740,8 @@ session.Operation |= EXTRACT_EXTRACTFILES; res = pExtract(&session, CabName);
- if (session.FileList) - { - struct FILELIST *curr = session.FileList; - struct FILELIST *next; - - while (curr) - { - next = curr->next; - free_file_node(curr); - curr = next; - } - } - done: + free_file_list(&session); FreeLibrary(hCabinet); HeapFree(GetProcessHeap(), 0, szConvertedList);