]> git.ipfire.org Git - thirdparty/ipxe.git/commit
[uri] Avoid appearing to access final byte of a potentially empty string
authorMichael Brown <mcb30@ipxe.org>
Fri, 5 Jun 2020 09:01:19 +0000 (10:01 +0100)
committerMichael Brown <mcb30@ipxe.org>
Fri, 5 Jun 2020 09:01:19 +0000 (10:01 +0100)
commit6a6def775db00a88fa800ea4d08e6519539dacde
tree38c893486d1ebfbc2b22f127a2e1b08729d7e8a4
parentac28bbb7ea3a1c88aa47c086e92fab78a75c351d
[uri] Avoid appearing to access final byte of a potentially empty string

The URI parsing code for "host[:port]" checks that the final character
is not ']' in order to allow for IPv6 literals.  If the entire
"host[:port]" portion of the URL is an empty string, then this will
access the preceding character.  This does not result in accessing
invalid memory (since the string is guaranteed by construction to
always have a preceding character) and does not result in incorrect
behaviour (since if the string is empty then strrchr() is guaranteed
to return NULL), but it does make the code confusing to read.

Fix by inverting the order of the two tests.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/core/uri.c