Description
While parsing a WSDL file my program crashes because of reading a null pointer.
While debugging I have found the following situation:
file: /c/woden/src/wsdl/documentable.c
I see that:
documentable_impl_l = NULL
woden_documentable_resolve_methods(
woden_documentable_t *documentable,
const axis2_env_t *env,
woden_documentable_t *documentable_impl,
axis2_hash_t *methods)
after the execution of this function, the operation add_documentation_element = NULL, then in the following function it fails:
file: /c/woden/src/builder/wsdl10_reader.c
static void *
parse_interface_op(
void *reader,
const axis2_env_t *env,
axiom_node_t *op_el_node,
void *desc,
void *parent)
{
[...]
if (AXIS2_TRUE == axis2_qname_util_matches(env,
q_elem_documentation, temp_el_node))
[...]
}
The call to WODEN_DOCUMENTABLE_ADD_DOCUMENTATION_ELEMENT fails, because the method add_documentation_element is null.
I have tested this with my own code, as well as with the test_woden sample program (which is very similar to my code), using different wsdl files, for example the googlesearch.wsdl file, and the result was always the same.