Re: [PATCH] apply: use strcmp(3) for comparing strings in gitdiff_verify_name()
- From
René Scharfe <l.s.r@web.de>
- Date
- Jul 9, 2017, 12:20 UTC
- Message-ID
- <147f287a-e66e-11b2-c76f-b7d54e076a6b@web.de>
- In-Reply-To
- <xmqqo9sua7gz.fsf@gitster.mtv.corp.google.com>
Am 09.07.2017 um 00:29 schrieb Junio C Hamano:
Show 21 quoted lines
> René Scharfe <l.s.r@web.de> writes: > >> Am 08.07.2017 um 13:08 schrieb Ramsay Jones: >>> On 08/07/17 09:58, René Scharfe wrote: >>>> Avoid running over the end of another -- a C string whose length we >>>> don't know -- by using strcmp(3) instead of memcmp(3) for comparing it >>>> with another C string. >>> >>> I had to read this twice, along with the patch text, before this >>> made any sense. ;-) The missing information being that 'another' >>> was the name of the string variable that we were potentially >>> 'running over the end of'. >> >> Yeah, sorry, encasing that unusual variable name in quotes would >> probably have helped. > > What makes it even more confusing is that the variable with the > problematic name is referred to as "it" in the last part of the > description--- the second occurrence of 'another' is actually not > referring to that variable but yet another string that is being > compared with it ;-)
Perhaps like this instead?
We don't know the length of the C string "another". It could be shorter than "name", which we compare it to using memchr(3). Call strcmp(3) instead to avoid running over the end of the former, and get rid of a strlen(3) call as a bonus.
René