[Dnsmasq-discuss] [PATCH] Fix some errors and warnings from clang-analyzer
rosenp at gmail.com
rosenp at gmail.com
Thu Oct 5 09:41:02 BST 2017
On Thu, 2017-10-05 at 09:48 +0200, Pali Rohár wrote:
> On Wednesday 04 October 2017 19:22:11 Rosen Penev wrote:
> > diff --git a/src/cache.c b/src/cache.c
> > index 4f43246..88851e7 100644
> > --- a/src/cache.c
> > +++ b/src/cache.c
> > @@ -572,7 +572,7 @@ struct crec *cache_insert(char *name, struct
> > all_addr *addr,
> > }
> >
> > if (name)
> > - strcpy(cache_get_name(new), name);
> > + strncpy(cache_get_name(new), name,
> > strlen(cache_get_name(new)));
>
> Hi! This line looks suspicious. Should not be length argument sizeof
> of
> destination buffer, instead of current length of null term string?
>
Doesn't sizeof on a pointer return the size of the pointer instead of
the string?
> Also strncpy in some circumstances fill string which is not null
> terminated.
strlen apparently does not include \0. needs a + 1 looks like.
>
More information about the Dnsmasq-discuss
mailing list