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.