summaryrefslogtreecommitdiffstats
path: root/src/core/cwuri.c
diff options
context:
space:
mode:
authorPiotr Jaroszyński2010-04-12 17:37:10 +0200
committerMichael Brown2010-04-25 18:25:30 +0200
commit61206c245de7870eeb65417ffdb1c98b8fee88e1 (patch)
tree6f45b5564f17d3f14236d27a33d1da97d0c7be4a /src/core/cwuri.c
parent[uri] Fix NULL dereference in parse_uri() (diff)
downloadipxe-61206c245de7870eeb65417ffdb1c98b8fee88e1.tar.gz
ipxe-61206c245de7870eeb65417ffdb1c98b8fee88e1.tar.xz
ipxe-61206c245de7870eeb65417ffdb1c98b8fee88e1.zip
[uri] Special case NULL in churi()
resolve_uri() doesn't (and probably shouldn't) handle NULL relative_uri. Signed-off-by: Piotr Jaroszyński <p.jaroszynski@gmail.com> Reviewed-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Marty Connor <mdc@etherboot.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/core/cwuri.c')
-rw-r--r--src/core/cwuri.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/cwuri.c b/src/core/cwuri.c
index f649ba44..893e2050 100644
--- a/src/core/cwuri.c
+++ b/src/core/cwuri.c
@@ -38,9 +38,11 @@ struct uri *cwuri = NULL;
* @v uri New working URI, or NULL
*/
void churi ( struct uri *uri ) {
- struct uri *new_uri;
+ struct uri *new_uri = NULL;
+
+ if ( uri )
+ new_uri = resolve_uri ( cwuri, uri );
- new_uri = resolve_uri ( cwuri, uri );
uri_put ( cwuri );
cwuri = new_uri;
}