James Hawkins : advpack: Fix the full path check.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Oct 24 04:55:31 CDT 2006


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

Author: James Hawkins <truiken at gmail.com>
Date:   Mon Oct 23 18:44:59 2006 -0700

advpack: Fix the full path check.

---

 dlls/advpack/install.c       |    2 +-
 dlls/advpack/tests/install.c |   18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/dlls/advpack/install.c b/dlls/advpack/install.c
index d63a959..b86c70a 100644
--- a/dlls/advpack/install.c
+++ b/dlls/advpack/install.c
@@ -221,7 +221,7 @@ static BOOL is_full_path(LPWSTR path)
     if (!path || lstrlenW(path) < MIN_PATH_LEN)
         return FALSE;
 
-    if (path[1] == ':' || (path[0] == '\\' && path[1] == '\\'))
+    if ((path[1] == ':' && path[2] == '\\') || (path[0] == '\\' && path[1] == '\\'))
         return TRUE;
 
     return FALSE;
diff --git a/dlls/advpack/tests/install.c b/dlls/advpack/tests/install.c
index 00ed378..b594a1e 100644
--- a/dlls/advpack/tests/install.c
+++ b/dlls/advpack/tests/install.c
@@ -226,6 +226,23 @@ static void test_LaunchINFSection()
     DeleteFileA("test.inf");
 }
 
+static void test_LaunchINFSectionEx()
+{
+    HRESULT hr;
+    char cmdline[MAX_PATH];
+
+    create_inf_file("test.inf");
+
+    /* try an invalid CAB filename */
+    lstrcpy(cmdline, CURR_DIR);
+    lstrcpy(cmdline, "\\");
+    lstrcpy(cmdline, "test.inf,DefaultInstall,c:imacab.cab,4");
+    hr = pLaunchINFSectionEx(NULL, NULL, cmdline, 0);
+    ok(hr == 0, "Expected 0, got %d\n", hr);
+
+    DeleteFileA("test.inf");
+}
+
 START_TEST(install)
 {
     if (!init_function_pointers())
@@ -235,4 +252,5 @@ START_TEST(install)
 
     test_RunSetupCommand();
     test_LaunchINFSection();
+    test_LaunchINFSectionEx();
 }




More information about the wine-cvs mailing list