Alex Henrie | 17 May 03:24
Picon

[PATCH 2/2] kernel32: Avoid calling MultiByteToWideChar with invalid parameters

---
 dlls/kernel32/locale.c |   57 +++++++++++++++++++++++++++++++----------------
 1 files changed, 37 insertions(+), 20 deletions(-)

diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c
index b73f9b3..2970856 100644
--- a/dlls/kernel32/locale.c
+++ b/dlls/kernel32/locale.c
@@ -2893,34 +2893,51 @@ INT WINAPI CompareStringA(LCID lcid, DWORD style,

     if (!(style & LOCALE_USE_CP_ACP)) locale_cp = get_lcid_codepage( lcid );

-    len1W = MultiByteToWideChar(locale_cp, 0, str1, len1, buf1W, 130);
-    if (len1W)
-        str1W = buf1W;
-    else
+    if (len1)
     {
-        len1W = MultiByteToWideChar(locale_cp, 0, str1, len1, NULL, 0);
-        str1W = HeapAlloc(GetProcessHeap(), 0, len1W * sizeof(WCHAR));
-        if (!str1W)
+        len1W = MultiByteToWideChar(locale_cp, 0, str1, len1, buf1W, 130);
+        if (len1W)
+            str1W = buf1W;
+        else
         {
-            SetLastError(ERROR_NOT_ENOUGH_MEMORY);
-            return 0;
+            len1W = MultiByteToWideChar(locale_cp, 0, str1, len1, NULL, 0);
+            str1W = HeapAlloc(GetProcessHeap(), 0, len1W * sizeof(WCHAR));
(Continue reading)

Alex Henrie | 17 May 03:24
Picon

[PATCH 1/2] kernel32: Correct WideCharToMultiByte and MultiByteToWideChar error codes and conditions

---
 dlls/kernel32/locale.c         |   38 ++++++++++++++++++---
 dlls/kernel32/tests/codepage.c |   69 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 101 insertions(+), 6 deletions(-)

diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c
index b506f15..b73f9b3 100644
--- a/dlls/kernel32/locale.c
+++ b/dlls/kernel32/locale.c
@@ -1878,7 +1878,7 @@ INT WINAPI MultiByteToWideChar( UINT page, DWORD flags, LPCSTR src, INT srclen,
     const union cptable *table;
     int ret;

-    if (!src || (!dst && dstlen))
+    if (!src || !srclen || (!dst && dstlen))
     {
         SetLastError( ERROR_INVALID_PARAMETER );
         return 0;
@@ -1889,14 +1889,19 @@ INT WINAPI MultiByteToWideChar( UINT page, DWORD flags, LPCSTR src, INT srclen,
     switch(page)
     {
     case CP_SYMBOL:
-        if( flags)
+        if (flags)
         {
-            SetLastError( ERROR_INVALID_PARAMETER );
+            SetLastError( ERROR_INVALID_FLAGS );
             return 0;
         }
         ret = wine_cpsymbol_mbstowcs( src, srclen, dst, dstlen );
(Continue reading)

Bruno Jesus | 17 May 02:39
Picon

regedit: Fix qword entries export

Currently wine translates QWORD registry type 11 to hex(11) instead of
hex(b) creating invalid registry files.

Partially fix bug 27026.
Attachment (regedit_fix_qword_export.patch): application/octet-stream, 652 bytes

Michael Stefaniuc | 17 May 00:56
Picon

ddraw/tests: Actually run a test.

---
 dlls/ddraw/tests/dsurface.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/dlls/ddraw/tests/dsurface.c b/dlls/ddraw/tests/dsurface.c
index 93efba8..ecc54f1 100644
--- a/dlls/ddraw/tests/dsurface.c
+++ b/dlls/ddraw/tests/dsurface.c
@@ -4606,6 +4606,7 @@ static void set_surface_desc_test(void)
             hr, DDERR_INVALIDSURFACETYPE);

     ddsd.dwFlags = DDSD_WIDTH;
+    hr = IDirectDrawSurface3_SetSurfaceDesc(surface3, &ddsd, 0);
     ok(hr == DDERR_INVALIDSURFACETYPE, "SetSurfaceDesc returned %#x, expected %#x.\n",
             hr, DDERR_INVALIDSURFACETYPE);

--

-- 
1.7.7.6

Michael Stefaniuc | 17 May 00:55
Picon

advapi32/tests: Test the correct error codes.

---
 dlls/advapi32/tests/cred.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/dlls/advapi32/tests/cred.c b/dlls/advapi32/tests/cred.c
index de03ed7..3aaae4c 100644
--- a/dlls/advapi32/tests/cred.c
+++ b/dlls/advapi32/tests/cred.c
@@ -464,6 +464,7 @@ static void test_CredMarshalCredentialA(void)
     str = (char *)0xdeadbeef;
     SetLastError( 0xdeadbeef );
     ret = pCredMarshalCredentialA( UsernameTargetCredential, &username, &str );
+    error = GetLastError();
     ok( !ret, "unexpected success\n" );
     ok( error == ERROR_INVALID_PARAMETER, "got %u\n", error );
     ok( str == (char *)0xdeadbeef, "got %p\n", str );
@@ -472,6 +473,7 @@ static void test_CredMarshalCredentialA(void)
     str = (char *)0xdeadbeef;
     SetLastError( 0xdeadbeef );
     ret = pCredMarshalCredentialA( UsernameTargetCredential, &username, &str );
+    error = GetLastError();
     ok( !ret, "unexpected success\n" );
     ok( error == ERROR_INVALID_PARAMETER, "got %u\n", error );
     ok( str == (char *)0xdeadbeef, "got %p\n", str );
--

-- 
1.7.7.6

Michael Stefaniuc | 17 May 00:53
Picon

riched20/tests: Remove duplicated ok() call.

---
 dlls/riched20/tests/editor.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/dlls/riched20/tests/editor.c b/dlls/riched20/tests/editor.c
index 9347ed7..f6db413 100644
--- a/dlls/riched20/tests/editor.c
+++ b/dlls/riched20/tests/editor.c
@@ -5889,7 +5889,6 @@ static void test_undo_coalescing(void)
     ok (result == 0, "expected '%s' but got '%s'\n", "one two three", buffer);
     result = SendMessage(hwnd, EM_UNDO, 0, 0);
     ok (result == TRUE, "Failed to undo typed characters.\n");
-    ok (result == TRUE, "Failed to undo typed characters.\n");
     SendMessageA(hwnd, WM_GETTEXT, sizeof(buffer), (LPARAM)buffer);
     result = strcmp(buffer, "");
     ok (result == 0, "expected '%s' but got '%s'\n", "", buffer);
--

-- 
1.7.7.6

Michael Stefaniuc | 17 May 00:50
Picon

msi/tests: Test the correct return values.

---
 dlls/msi/tests/db.c      |    2 +-
 dlls/msi/tests/suminfo.c |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/msi/tests/db.c b/dlls/msi/tests/db.c
index 4c91bd8..7a2fd7c 100644
--- a/dlls/msi/tests/db.c
+++ b/dlls/msi/tests/db.c
@@ -1490,7 +1490,7 @@ static void test_longstrings(void)

     HeapFree(GetProcessHeap(), 0, str);

-    MsiDatabaseCommit(hdb);
+    r = MsiDatabaseCommit(hdb);
     ok(r == ERROR_SUCCESS, "MsiDatabaseCommit failed\n");
     MsiCloseHandle(hdb);

diff --git a/dlls/msi/tests/suminfo.c b/dlls/msi/tests/suminfo.c
index 76dac57..0ae2a3a 100644
--- a/dlls/msi/tests/suminfo.c
+++ b/dlls/msi/tests/suminfo.c
@@ -254,7 +254,7 @@ static void test_suminfo(void)
     ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n");

     /* filename, non-zero update count */
-    MsiGetSummaryInformation(0, msifile, 1, &hsuminfo);
+    r = MsiGetSummaryInformation(0, msifile, 1, &hsuminfo);
     ok(r == ERROR_SUCCESS, "MsiGetSummaryInformation failed\n");

(Continue reading)

Detlef Riekenberg | 16 May 22:30
Picon

[PATCH] devenum: Do not fail with a IBindCtx (with tests) [try 2]

(The test dump only the first entry to reduce the logfile size)

Needed to get this test app working:

http://blogs.msdn.com/b/matthew_van_eerde/archive/2010/05/25/how-to-enumerate-directshow-filters-on-your-system.aspx

try 2:
Use a different code for the FIXME - Once logic

--
By by ... Detlef
---
 dlls/devenum/mediacatenum.c  |   12 +++++++++-
 dlls/devenum/tests/devenum.c |   48 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 59 insertions(+), 1 deletions(-)

diff --git a/dlls/devenum/mediacatenum.c b/dlls/devenum/mediacatenum.c
index 1ff06df..aa27c8a 100644
--- a/dlls/devenum/mediacatenum.c
+++ b/dlls/devenum/mediacatenum.c
@@ -465,7 +465,17 @@ static HRESULT WINAPI DEVENUM_IMediaCatMoniker_BindToStorage(IMoniker *iface, IB

     *ppvObj = NULL;

-    if (pbc || pmkToLeft)
+    if (pbc != NULL)
+    {
+        static DWORD reported = 0;
+        if (!reported)
+        {
(Continue reading)

Frédéric Delanoy | 16 May 20:42
Picon

[appdb] Applications working flawlessly using patched wine should be rated Gold

---
 help/maintainer_ratings.help |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/help/maintainer_ratings.help b/help/maintainer_ratings.help
index 8eabe94..1136359 100644
--- a/help/maintainer_ratings.help
+++ b/help/maintainer_ratings.help
@@ -19,7 +19,7 @@ An application can be rated as Platinum if it installs and runs flawlessly &#821
 <li class="gold">Gold

 <p>
-Application works flawlessly with some DLL overrides, other settings or third party software.
+Application works flawlessly with some DLL overrides, some patches applied, other settings or third
party software.
 </p>
 </li>
 <li class="silver">Silver
--

-- 
1.7.10

André Hentschel | 16 May 18:50
Picon
Favicon
Gravatar

[2/2] wmvcore: Add stub for WMCreateReader

For http://bugs.winehq.org/show_bug.cgi?id=30660
---
 dlls/wmvcore/wmvcore.spec   |    2 +-
 dlls/wmvcore/wmvcore_main.c |    6 ++++++
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/dlls/wmvcore/wmvcore.spec b/dlls/wmvcore/wmvcore.spec
index e0fa2e9..ee85eb6 100644
--- a/dlls/wmvcore/wmvcore.spec
+++ b/dlls/wmvcore/wmvcore.spec
@@ -9,7 +9,7 @@
 @ stub WMCreateEditor
 @ stub WMCreateIndexer
 @ stub WMCreateProfileManager
-@ stub WMCreateReader
+@ stdcall WMCreateReader(ptr long ptr)
 @ stub WMCreateReaderPriv
 @ stdcall WMCreateSyncReader(ptr long ptr)
 @ stub WMCreateWriter
diff --git a/dlls/wmvcore/wmvcore_main.c b/dlls/wmvcore/wmvcore_main.c
index 1d24c24..b92a662 100644
--- a/dlls/wmvcore/wmvcore_main.c
+++ b/dlls/wmvcore/wmvcore_main.c
@@ -45,6 +45,12 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
     return TRUE;
 }

+HRESULT WINAPI WMCreateReader(IUnknown *reserved, DWORD rights, IWMSyncReader **reader)
+{
+    FIXME("(%p, %x, %p): stub\n", reserved, rights, reader);
(Continue reading)

André Hentschel | 16 May 18:46
Picon
Favicon
Gravatar

[1/2] wmvcore: Add stub for WMCreateSyncReader (try 2) (resend)

Otherwise GTA San Andreas runs into it and crashes. This stub let's it work again.
try2: with idls
resend: i forgot the patch numbering, sry
---
 dlls/wmvcore/wmvcore.spec   |    2 +-
 dlls/wmvcore/wmvcore_main.c |    7 +
 include/Makefile.in         |    2 +
 include/wmsbuffer.idl       |   45 ++++++
 include/wmsdkidl.idl        |  335 +++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 390 insertions(+), 1 deletions(-)
 create mode 100644 include/wmsbuffer.idl
 create mode 100644 include/wmsdkidl.idl

diff --git a/dlls/wmvcore/wmvcore.spec b/dlls/wmvcore/wmvcore.spec
index 1c6cb1f..e0fa2e9 100644
--- a/dlls/wmvcore/wmvcore.spec
+++ b/dlls/wmvcore/wmvcore.spec
@@ -11,7 +11,7 @@
 @ stub WMCreateProfileManager
 @ stub WMCreateReader
 @ stub WMCreateReaderPriv
-@ stub WMCreateSyncReader
+@ stdcall WMCreateSyncReader(ptr long ptr)
 @ stub WMCreateWriter
 @ stub WMCreateWriterFileSink
 @ stub WMCreateWriterNetworkSink
diff --git a/dlls/wmvcore/wmvcore_main.c b/dlls/wmvcore/wmvcore_main.c
index 096328b..1d24c24 100644
--- a/dlls/wmvcore/wmvcore_main.c
+++ b/dlls/wmvcore/wmvcore_main.c
(Continue reading)


Gmane