]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Prevent strange crashes in fmt with absurd goal lengths introduced by the
authorjmallett <jmallett@FreeBSD.org>
Wed, 17 Oct 2007 11:41:40 +0000 (11:41 +0000)
committerjmallett <jmallett@FreeBSD.org>
Wed, 17 Oct 2007 11:41:40 +0000 (11:41 +0000)
commit4f4dc1955cf76ce689e160b17fea351527d0018b
tree989f26c60cfa0afb71f9b6a5da2dcaca640b7e87
parentf386b60906c9bdde2a83095c964d7047ebc3f294
Prevent strange crashes in fmt with absurd goal lengths introduced by the
support for wide characters.

If the sizeof (wchar_t) times max_length would yield a value beyond
representation in a size_t, exit with a usage error up front, rather than
strange errors down the line from trying to malloc (well, realloc) with a size
of 0.

This is perhaps not the optimal behaviour - a clamp may be more appropriate as
we clamp the value of max_length now anyway, but this is at least better than
segfaulting or worse.  On systems which are friendly to malloc with a value of 0
the results could end up being strange corruption of the output.
usr.bin/fmt/fmt.c