Robert Wilhelm : scrrun: Check for null arguments in MoveFile.

Alexandre Julliard julliard at winehq.org
Mon May 30 15:34:56 CDT 2022


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

Author: Robert Wilhelm <robert.wilhelm at gmx.net>
Date:   Wed May 25 14:53:11 2022 +0200

scrrun: Check for null arguments in MoveFile.

Signed-off-by: Robert Wilhelm <robert.wilhelm at gmx.net>
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/scrrun/filesystem.c       | 3 +++
 dlls/scrrun/tests/filesystem.c | 7 +++++++
 2 files changed, 10 insertions(+)

diff --git a/dlls/scrrun/filesystem.c b/dlls/scrrun/filesystem.c
index d7ad255e517..35b43e2f124 100644
--- a/dlls/scrrun/filesystem.c
+++ b/dlls/scrrun/filesystem.c
@@ -3758,6 +3758,9 @@ static HRESULT WINAPI filesys_MoveFile(IFileSystem3 *iface, BSTR source, BSTR de
 {
     TRACE("%p %s %s\n", iface, debugstr_w(source), debugstr_w(destination));
 
+    if(!source || !destination)
+        return E_INVALIDARG;
+
     return MoveFileW(source, destination) ? S_OK : create_error(GetLastError());
 }
 
diff --git a/dlls/scrrun/tests/filesystem.c b/dlls/scrrun/tests/filesystem.c
index 79af87591ff..1ba0e81a2d1 100644
--- a/dlls/scrrun/tests/filesystem.c
+++ b/dlls/scrrun/tests/filesystem.c
@@ -2591,6 +2591,13 @@ static void test_MoveFile(void)
     hr = IFileSystem3_DeleteFile(fs3, str, VARIANT_TRUE);
     ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     SysFreeString(str);
+
+    str = SysAllocString(L"null.txt");
+    hr = IFileSystem3_MoveFile(fs3, str, NULL);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
+    hr = IFileSystem3_MoveFile(fs3, NULL, str);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
+    SysFreeString(str);
 }
 
 static void test_DoOpenPipeStream(void)




More information about the wine-cvs mailing list