[libvirt PATCH 05/11] Replace bzero() with memset()
pkrempa at redhat.com
Thu Jan 28 11:03:36 UTC 2021
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".
> 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.
More information about the libvir-list