On Thu, Jan 28, 2021 at 12:03:36PM +0100, Peter Krempa wrote:
On Thu, Jan 28, 2021 at 10:59:41 +0000, Daniel Berrange wrote:
> On Thu, Jan 28, 2021 at 11:45:07AM +0100, Peter Krempa wrote:
> > On Thu, Jan 28, 2021 at 11:24:35 +0100, Tim Wiederhake wrote:
> > > This was found by clang-tidy's
> > > "clang-analyzer-security.insecureAPI.bzero" check.
> >
> > Any reasoning behind why bzero is bad?
>
> Yeah, it is wierd to call this an insecure API. If anything memset is
> more dangerous because people invert the 2nd and 3rd args, resulting
> in not setting any bytes at all.
According to the manpage it can allegedly be optimized out:
The explicit_bzero() function performs the same task as bzero(). It
differs from bzero() in that it guarantees that compiler optimizations
will not remove the erase operation if the compiler deduces that the
operation is "unnecessary".
A compiler smart enough eliminate bzero can do also likely eliminate
memset.
> None the less bzero is deprecated, so it makes sense to use
the
> memset funtion in general.
Yes it does, but the reason should be mentioned in the commit message.
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|