[PATCH] mlang: Check output pointer for NULL

Detlef Riekenberg wine.dev at web.de
Fri May 29 16:31:44 CDT 2009


---
 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 3d9511a..6e409f6 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)
-- 
1.5.4.3


--=-Umh6fu7edf/yOz1maICb--




More information about the wine-patches mailing list