diff options
author | Michael Brown | 2007-01-15 10:18:06 +0100 |
---|---|---|
committer | Michael Brown | 2007-01-15 10:18:06 +0100 |
commit | afa752f5fbebf49fcd399f85d1db85ef29cefc03 (patch) | |
tree | ed9054fc05e71e45672066aaf9f1e1b507dd1b85 /src | |
parent | Must free http on the error path; nothing else will do it (diff) | |
download | ipxe-afa752f5fbebf49fcd399f85d1db85ef29cefc03.tar.gz ipxe-afa752f5fbebf49fcd399f85d1db85ef29cefc03.tar.xz ipxe-afa752f5fbebf49fcd399f85d1db85ef29cefc03.zip |
Protocol's get() method no longer takes ownership of the URI. HTTP is the
exception rather than the rule; we may as well keep things clean for other
protocols.
Diffstat (limited to 'src')
-rw-r--r-- | src/net/tcp/http.c | 3 | ||||
-rw-r--r-- | src/usr/fetch.c | 3 |
2 files changed, 1 insertions, 5 deletions
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: |