On Sun, 21 Dec 2025 20:26:37 +0800
Li Wang <liwang@redhat.com> wrote:
> write_to_hugetlbfs currently parses the -s size argument with atoi()
> into an int. This silently accepts malformed input, cannot report overflow,
> and can truncate large sizes.
And sscanf() will just ignore invalid trailing characters.
Probably much the same as atoi() apart from a leading '-'.
Maybe you could use "%zu%c" and check the count is 1 - but I bet
some static checker won't like that.
Yes, that would be stronger, since it would reject trailing garbage.
But for a selftest this is probably sufficient: switching to size_t and
parsing with "%zu" already avoids the int truncation issue
.
Hi Andrew, I noticed you have addedthe patches to your mm-new branch,
Let me know if you prefer the "%zu%c" enhancement in a new version.