Detlef Riekenberg : mlang: Check output pointer for NULL.

Alexandre Julliard julliard at winehq.org
Mon Jun 1 10:01:03 CDT 2009


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

Author: Detlef Riekenberg <wine.dev at web.de>
Date:   Fri May 29 23:31:44 2009 +0200

mlang: Check output pointer for NULL.

---

 dlls/mlang/mlang.c       |    4 ++++
 dlls/mlang/tests/mlang.c |    3 +++
 2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/dlls/mlang/mlang.c b/dlls/mlang/mlang.c
index 4144ef5..501ccfc 100644
--- a/dlls/mlang/mlang.c
+++ b/dlls/mlang/mlang.c
@@ -2257,6 +2257,8 @@ static HRESULT WINAPI fnIMultiLanguage_GetRfc1766FromLcid(
     WCHAR buf[MAX_RFC1766_NAME];
 
     TRACE("%p %04x %p\n", iface, lcid, pbstrRfc1766);
+    if (!pbstrRfc1766)
+        return E_INVALIDARG;
 
     if (!lcid_to_rfc1766W( lcid, buf, MAX_RFC1766_NAME ))
     {
@@ -2812,6 +2814,8 @@ static HRESULT WINAPI fnIMultiLanguage2_GetRfc1766FromLcid(
     WCHAR buf[MAX_RFC1766_NAME];
 
     TRACE("%p %04x %p\n", iface, lcid, pbstrRfc1766);
+    if (!pbstrRfc1766)
+        return E_INVALIDARG;
 
     if (!lcid_to_rfc1766W( lcid, buf, MAX_RFC1766_NAME ))
     {
diff --git a/dlls/mlang/tests/mlang.c b/dlls/mlang/tests/mlang.c
index bf21146..829af24 100644
--- a/dlls/mlang/tests/mlang.c
+++ b/dlls/mlang/tests/mlang.c
@@ -966,6 +966,9 @@ static void test_GetRfc1766FromLcid(IMultiLanguage2 *iML2)
 
         SysFreeString(rfcstr);
     }
+
+    hr = IMultiLanguage2_GetRfc1766FromLcid(iML2, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), NULL);
+    ok(hr == E_INVALIDARG, "got 0x%x (expected E_INVALIDARG)\n", hr);
 }
 
 static void test_IMultiLanguage2_ConvertStringFromUnicode(IMultiLanguage2 *iML2)




More information about the wine-cvs mailing list