diff --git a/src/net/tcp/http.c b/src/net/tcp/http.c index 346f5a83..3ae7b1e9 100644 --- a/src/net/tcp/http.c +++ b/src/net/tcp/http.c @@ -366,7 +366,6 @@ static void http_reap ( struct async *async ) { struct http_request *http = container_of ( async, struct http_request, async ); - free_uri ( http->uri ); free ( http ); } @@ -385,8 +384,6 @@ static struct async_operations http_async_operations = { * @v buffer Buffer into which to download file * @v parent Parent asynchronous operation * @ret rc Return status code - * - * If it returns success, this function takes ownership of the URI. */ int http_get ( struct uri *uri, struct buffer *buffer, struct async *parent ) { struct http_request *http; diff --git a/src/usr/fetch.c b/src/usr/fetch.c index 9e3c2de6..71304bb2 100644 --- a/src/usr/fetch.c +++ b/src/usr/fetch.c @@ -86,7 +86,6 @@ int fetch ( const char *uri_string, userptr_t *data, size_t *len ) { async_init_orphan ( &async ); if ( ( rc = download ( uri, &buffer, &async ) ) != 0 ) goto err; - uri = NULL; async_wait ( &async, &rc, 1 ); if ( rc != 0 ) goto err; @@ -98,7 +97,7 @@ int fetch ( const char *uri_string, userptr_t *data, size_t *len ) { /* Release temporary resources. The ebuffer storage is now * owned by our caller, so we don't free it. */ - + free_uri ( uri ); return 0; err: