[4/5] webservices: Reject field mappings without name or namespace.
Hans Leidekker
hans at codeweavers.com
Wed Mar 2 07:06:28 CST 2016
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
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;
--
2.7.0
More information about the wine-patches
mailing list