[-- Attachment #1: Type: text/plain, Size: 426 bytes --] Commit d9bdfd164 ("fix memccpy to not access buffer past given size") correctly added a check for 'n' nonzero, but made the pre-existing test '*s==c' redundant: n!=0 implies *s==c. Remove the unnecessary check. Reported by Alexey Izbyshev. --- Let me also point out that the aforementioned change did not appear on this mailing list. Alexander src/string/memccpy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0321-remove-redundant-condition-in-memccpy.patch --] [-- Type: text/x-patch; name="0321-remove-redundant-condition-in-memccpy.patch", Size: 362 bytes --] diff --git a/src/string/memccpy.c b/src/string/memccpy.c index 00c18e2b..3b0a3700 100644 --- a/src/string/memccpy.c +++ b/src/string/memccpy.c @@ -29,6 +29,6 @@ void *memccpy(void *restrict dest, const void *restrict src, int c, size_t n) #endif for (; n && (*d=*s)!=c; n--, s++, d++); tail: - if (n && *s==c) return d+1; + if (n) return d+1; return 0; }
On Mon, Mar 09, 2020 at 09:32:16PM +0300, Alexander Monakov wrote: > > Commit d9bdfd164 ("fix memccpy to not access buffer past given size") > correctly added a check for 'n' nonzero, but made the pre-existing test > '*s==c' redundant: n!=0 implies *s==c. Remove the unnecessary check. > > Reported by Alexey Izbyshev. > --- > > Let me also point out that the aforementioned change did not appear > on this mailing list. > > Alexander > > src/string/memccpy.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/string/memccpy.c b/src/string/memccpy.c > index 00c18e2b..3b0a3700 100644 > --- a/src/string/memccpy.c > +++ b/src/string/memccpy.c > @@ -29,6 +29,6 @@ void *memccpy(void *restrict dest, const void *restrict src, int c, size_t n) > #endif > for (; n && (*d=*s)!=c; n--, s++, d++); > tail: > - if (n && *s==c) return d+1; > + if (n) return d+1; > return 0; > } Thanks, applying. Rich