On 17/02/2021 18:58, Joel Sherrill wrote:


I don't want to ignore calls to fileno() and other methods from RTEMS code that potentially could pass a NULL in. I only see a few options:

  + Use an rtems_fileno() wrapper which does check for NULL. I don't like this because it opens a path of doing this for any libc method that takes a pointer.

+ Mark these as ignored in Coverity. I don't like this because it always feels like we could be papering over something.

+ Add an RTEMS assert() ahead of these suspect calls so at least debug mode flags them and Coverity is happier.

+ Add nonnull attribute to the headers for the various parameters in libc that shouldn't be null. I don't think this will catch all stupid cases of passing NULL but may be sufficient to catch some. I have no idea if this will make Coverity happy or not.

I think aiming for the last two since they seem reasonable and straightforward.

The nonnull attribute could have unpleasant side effects:

http://www.rkoucha.fr/tech_corner/nonnull_gcc_attribute.html

I would place assertions in the code. This looks like a case by case analysis is necessary.

--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to