Don't tell to MultiByteToWideChar that buffer is bigger than its real size. The size is in characters, not in bytes.
Spotted by Robert Shearman <rob@codeweavers.com>
Modified: trunk/reactos/lib/setupapi/parser.c

Modified: trunk/reactos/lib/setupapi/parser.c
--- trunk/reactos/lib/setupapi/parser.c	2005-09-29 03:39:38 UTC (rev 18151)
+++ trunk/reactos/lib/setupapi/parser.c	2005-09-29 09:46:35 UTC (rev 18152)
@@ -956,8 +956,7 @@
         WCHAR *new_buff = HeapAlloc( GetProcessHeap(), 0, size * sizeof(WCHAR) );
         if (new_buff)
         {
-            DWORD len = MultiByteToWideChar( CP_ACP, 0, buffer, size, new_buff,
-                                             size * sizeof(WCHAR) );
+            DWORD len = MultiByteToWideChar( CP_ACP, 0, buffer, size, new_buff, size );
             err = parse_buffer( file, new_buff, new_buff + len, error_line );
             HeapFree( GetProcessHeap(), 0, new_buff );
         }