Paul Vriens : wininet/ftp.c: Fix some returned error codes.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Feb 12 09:23:54 CST 2007


Module: wine
Branch: master
Commit: d20833fc5297acc4c4d6d144ed20345d82792c2d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d20833fc5297acc4c4d6d144ed20345d82792c2d

Author: Paul Vriens <paul.vriens.wine at gmail.com>
Date:   Sat Feb 10 17:33:17 2007 +0100

wininet/ftp.c: Fix some returned error codes.

---

 dlls/wininet/ftp.c       |   17 ++++++++++++++---
 dlls/wininet/tests/ftp.c |    3 ---
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c
index 6a0275c..56fade1 100644
--- a/dlls/wininet/ftp.c
+++ b/dlls/wininet/ftp.c
@@ -1667,12 +1667,24 @@ BOOL WINAPI FtpRenameFileW(HINTERNET hFt
     BOOL r = FALSE;
 
     lpwfs = (LPWININETFTPSESSIONW) WININET_GetObject( hFtpSession );
-    if (NULL == lpwfs || WH_HFTPSESSION != lpwfs->hdr.htype)
+    if (!lpwfs)
+    {
+        INTERNET_SetLastError(ERROR_INVALID_HANDLE);
+        return FALSE;
+    }
+
+    if (WH_HFTPSESSION != lpwfs->hdr.htype)
     {
         INTERNET_SetLastError(ERROR_INTERNET_INCORRECT_HANDLE_TYPE);
         goto lend;
     }
 
+    if (!lpszSrc || !lpszDest)
+    {
+        INTERNET_SetLastError(ERROR_INVALID_PARAMETER);
+        goto lend;
+    }
+
     hIC = lpwfs->lpAppInfo;
     if (hIC->hdr.dwFlags & INTERNET_FLAG_ASYNC)
     {
@@ -1693,8 +1705,7 @@ BOOL WINAPI FtpRenameFileW(HINTERNET hFt
     }
 
 lend:
-    if( lpwfs )
-        WININET_Release( &lpwfs->hdr );
+    WININET_Release( &lpwfs->hdr );
 
     return r;
 }
diff --git a/dlls/wininet/tests/ftp.c b/dlls/wininet/tests/ftp.c
index f389816..0e566b1 100644
--- a/dlls/wininet/tests/ftp.c
+++ b/dlls/wininet/tests/ftp.c
@@ -666,7 +666,6 @@ static void test_renamefile(void)
     SetLastError(0xdeadbeef);
     bRet = FtpRenameFileA(NULL , "should_be_non_existing_deadbeef", "new");
     ok ( bRet == FALSE, "Expected FtpRenameFileA to fail\n");
-    todo_wine
     ok ( GetLastError() == ERROR_INVALID_HANDLE,
         "Expected ERROR_INVALID_HANDLE, got %d\n", GetLastError());
 
@@ -685,7 +684,6 @@ static void test_renamefile(void)
     SetLastError(0xdeadbeef);
     bRet = FtpRenameFileA(hFtp , NULL, "new");
     ok ( bRet == FALSE, "Expected FtpRenameFileA to fail\n");
-    todo_wine
     ok ( GetLastError() == ERROR_INVALID_PARAMETER,
         "Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
 
@@ -693,7 +691,6 @@ static void test_renamefile(void)
     SetLastError(0xdeadbeef);
     bRet = FtpRenameFileA(hFtp , "should_be_non_existing_deadbeef", NULL);
     ok ( bRet == FALSE, "Expected FtpRenameFileA to fail\n");
-    todo_wine
     ok ( GetLastError() == ERROR_INVALID_PARAMETER,
         "Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
 




More information about the wine-cvs mailing list