From 89143b5bd04277fe8d7907cf89f7bf573efcb40a Mon Sep 17 00:00:00 2001 From: Dave Beckett Date: Sun, 21 Nov 2021 21:41:50 -0800 Subject: Fix leak on failure of WWW moduel methods (raptor_grddl_fetch_uri): On WWW call failures, free up www object before error return. [coverity CID 343353] --- src/raptor_grddl.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/raptor_grddl.c b/src/raptor_grddl.c index f419164b..b54d8c88 100644 --- a/src/raptor_grddl.c +++ b/src/raptor_grddl.c @@ -927,18 +927,18 @@ raptor_grddl_fetch_uri(raptor_parser* rdf_parser, return 1; if(raptor_www_set_user_agent2(www, "grddl/0.1", 0)) - return 1; + goto cleanup_www; if(flags & FETCH_ACCEPT_XSLT) { if(raptor_www_set_http_accept2(www, "application/xml", 0)) - return 1; + goto cleanup_www; } else { accept_h = raptor_parser_get_accept_header(rdf_parser); if(accept_h) { ret = raptor_www_set_http_accept2(www, accept_h, 0); RAPTOR_FREE(char*, accept_h); if(ret) - return 1; + goto cleanup_www; } } if(rdf_parser->uri_filter) @@ -964,6 +964,11 @@ raptor_grddl_fetch_uri(raptor_parser* rdf_parser, raptor_world_internal_set_ignore_errors(rdf_parser->world, 0); return ret; + +cleanup_www: + raptor_free_www(www); + + return 1; } -- cgit v1.2.1