Re: [PATCH] add_pending_object_with_path(): work around "gcc -O3" complaint
- From
Jeff King <peff@peff.net>
- Date
- Jun 10, 2021, 13:11 UTC
- Message-ID
- <YMIPb+9e2PtaLZhl@coredump.intra.peff.net>
- In-Reply-To
- <YMIOY6Hp6//yGrFm@coredump.intra.peff.net>
On Thu, Jun 10, 2021 at 09:06:44AM -0400, Jeff King wrote:
Show 9 quoted lines
> We can work around this by replacing our "did we hit the trailing NUL" > subscript dereference with a length check. We do not even have to pay > the cost for an extra strlen(), as we can pass our new length into > interpret_branch_name(), which was converting our "0" into a call to > strlen() anyway. > [...] > - if (0 < len && name[len] && buf.len) > + if (0 < len && len < namelen && buf.len) > strbuf_addstr(&buf, name + len);
I guess another option would be to drop the check entirely. It is only protecting us from calling strbuf_addstr() with an empty string, which is a noop anyway (it would not even cause a useless allocation, since we know that buf is non-empty, and that it won't need to grow).
I think I still prefer my original solution, though.
-Peff