diff options
author | Michael Brown | 2016-07-04 17:13:25 +0200 |
---|---|---|
committer | Michael Brown | 2016-07-04 17:20:01 +0200 |
commit | 89c6db838fc795c113e0584de0230cf86225135b (patch) | |
tree | 2d9f0dc86aeef2f0129788b9d0fd1ee6459f88af /src/core | |
parent | [xfer] Send intf_close() if redirection fails (diff) | |
download | ipxe-89c6db838fc795c113e0584de0230cf86225135b.tar.gz ipxe-89c6db838fc795c113e0584de0230cf86225135b.tar.xz ipxe-89c6db838fc795c113e0584de0230cf86225135b.zip |
[downloader] Treat redirection failures as fatal
Debugged-by: Robin Smidsrød <robin@smidsrod.no>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/downloader.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/downloader.c b/src/core/downloader.c index ba678f86..35b5b0ac 100644 --- a/src/core/downloader.c +++ b/src/core/downloader.c @@ -190,14 +190,18 @@ static int downloader_vredirect ( struct downloader *downloader, int type, /* Set image URI */ if ( ( rc = image_set_uri ( downloader->image, uri ) ) != 0 ) - return rc; + goto err; } /* Redirect to new location */ if ( ( rc = xfer_vreopen ( &downloader->xfer, type, args ) ) != 0 ) - return rc; + goto err; return 0; + + err: + downloader_finished ( downloader, rc ); + return rc; } /** Downloader data transfer interface operations */ |