[PATCH] setupapi: Handle an empty string for the source file in SetupQueueCopySection().

Zebediah Figura z.figura12 at gmail.com
Mon May 13 10:28:51 CDT 2019


Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47185
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/setupapi/queue.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dlls/setupapi/queue.c b/dlls/setupapi/queue.c
index f267380a2c..cacab2dc6f 100644
--- a/dlls/setupapi/queue.c
+++ b/dlls/setupapi/queue.c
@@ -795,6 +795,7 @@ BOOL WINAPI SetupQueueCopySectionW( HSPFILEQ queue, PCWSTR src_root, HINF hinf,
     SP_FILE_COPY_PARAMS_W params;
     INT flags;
     BOOL ret = FALSE;
+    DWORD len;
 
     TRACE("queue %p, src_root %s, hinf %p, hlist %p, section %s, style %#x.\n",
             queue, debugstr_w(src_root), hinf, hlist, debugstr_w(section), style);
@@ -830,7 +831,7 @@ BOOL WINAPI SetupQueueCopySectionW( HSPFILEQ queue, PCWSTR src_root, HINF hinf,
 
         if (!SetupGetStringFieldW( &context, 1, dst_file, ARRAY_SIZE( dst_file ), NULL ))
             goto end;
-        if (!SetupGetStringFieldW( &context, 2, src_file, ARRAY_SIZE( src_file ), NULL ))
+        if (!SetupGetStringFieldW( &context, 2, src_file, ARRAY_SIZE( src_file ), &len ) || len <= sizeof(WCHAR))
             strcpyW( src_file, dst_file );
 
         if (!SetupGetIntField( &context, 4, &flags )) flags = 0;  /* FIXME */
-- 
2.21.0




More information about the wine-devel mailing list