Hans Leidekker : webservices: Reject field mappings without name or namespace.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Mar 2 11:26:10 CST 2016


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

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Wed Mar  2 14:06:28 2016 +0100

webservices: Reject field mappings without name or namespace.

Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/webservices/tests/writer.c | 5 ++++-
 dlls/webservices/writer.c       | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/dlls/webservices/tests/writer.c b/dlls/webservices/tests/writer.c
index 446fa1d..e76eb1b 100644
--- a/dlls/webservices/tests/writer.c
+++ b/dlls/webservices/tests/writer.c
@@ -787,9 +787,12 @@ static void test_WsWriteElement(void)
     f.mapping = WS_ATTRIBUTE_FIELD_MAPPING;
 
     /* requires localName and ns to be set */
-    hr = WsWriteElement( writer, &desc, WS_WRITE_REQUIRED_POINTER, NULL, 0, NULL );
+    hr = WsWriteElement( writer, &desc, WS_WRITE_REQUIRED_POINTER, &test, sizeof(test), NULL );
     ok( hr == E_INVALIDARG, "got %08x\n", hr );
 
+    hr = set_output( writer );
+    ok( hr == S_OK, "got %08x\n", hr );
+
     f.localName = &localname;
     f.ns        = &ns;
     hr = WsWriteElement( writer, &desc, WS_WRITE_REQUIRED_POINTER, &test, sizeof(test), NULL );
diff --git a/dlls/webservices/writer.c b/dlls/webservices/writer.c
index f29b257..8dbe9c2 100644
--- a/dlls/webservices/writer.c
+++ b/dlls/webservices/writer.c
@@ -1323,6 +1323,7 @@ static HRESULT write_type_struct_field( struct writer *writer, WS_TYPE_MAPPING m
     switch (desc->mapping)
     {
     case WS_ATTRIBUTE_FIELD_MAPPING:
+        if (!desc->localName || !desc->ns) return E_INVALIDARG;
         if ((hr = write_add_attribute( writer, NULL, desc->localName, desc->ns, FALSE )) != S_OK)
             return hr;
         break;




More information about the wine-cvs mailing list