Proposed addition to CodingStyle web page about assert(a && b)
matthieu at herrb.eu
Sun May 5 07:11:27 UTC 2019
On Sat, May 04, 2019 at 03:47:31PM -0700, Adam Richter wrote:
> Hi, everyone.
> I would like to propose that whoever has the ability to edit the web
> page add a line like the following to
> https://www.x.org/wiki/CodingStyle/ :
> - Separate assert(a && b) into assert(a) and assert(b).
> Thanks in advance for any input on this.
I'm not sure if this advice belongs to this wiki page which is more
oriented on the appearance of the code than on semantics or
development good practices.
On the development good practices side, I think assert() should be
banned as much as possible form libraries and drivers.
You don't know anything about the caller context and having it beeing
brutally abort()ing is brutal and my lead to security issues
(data leaks in the core file for instance) or data corruption.
In libraries assert() should never be used to reject bad user input or
any other error condition that can happen for some known reason. It
should really only be used to document conditions that should really
never happen. In all other cases the function should be able to return
an error to the caller (which should of course not ignore them).
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 793 bytes
Desc: not available
More information about the xorg-devel