webservices: Reject field mappings without name or namespace.
Signed-off-by: Hans Leidekker <hans@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
7a6595bf51
commit
0fd7bb5389
|
@ -787,9 +787,12 @@ static void test_WsWriteElement(void)
|
||||||
f.mapping = WS_ATTRIBUTE_FIELD_MAPPING;
|
f.mapping = WS_ATTRIBUTE_FIELD_MAPPING;
|
||||||
|
|
||||||
/* requires localName and ns to be set */
|
/* 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 );
|
ok( hr == E_INVALIDARG, "got %08x\n", hr );
|
||||||
|
|
||||||
|
hr = set_output( writer );
|
||||||
|
ok( hr == S_OK, "got %08x\n", hr );
|
||||||
|
|
||||||
f.localName = &localname;
|
f.localName = &localname;
|
||||||
f.ns = &ns;
|
f.ns = &ns;
|
||||||
hr = WsWriteElement( writer, &desc, WS_WRITE_REQUIRED_POINTER, &test, sizeof(test), NULL );
|
hr = WsWriteElement( writer, &desc, WS_WRITE_REQUIRED_POINTER, &test, sizeof(test), NULL );
|
||||||
|
|
|
@ -1323,6 +1323,7 @@ static HRESULT write_type_struct_field( struct writer *writer, WS_TYPE_MAPPING m
|
||||||
switch (desc->mapping)
|
switch (desc->mapping)
|
||||||
{
|
{
|
||||||
case WS_ATTRIBUTE_FIELD_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)
|
if ((hr = write_add_attribute( writer, NULL, desc->localName, desc->ns, FALSE )) != S_OK)
|
||||||
return hr;
|
return hr;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue