pezmaster31 / bamtools

C++ API & command-line toolkit for working with BAM data
MIT License
418 stars 153 forks source link

Library exits the program at an error instead of returning an error code #208

Closed V-Z closed 3 years ago

V-Z commented 3 years ago

Hello, I'm packaging it for openSUSE and I get following warning when creating the RPM package:

RPMLINT report: bamtools.x86_64: W: shared-lib-calls-exit /usr/lib64/libbamtools.so.2.5.1 exit@GLIBC_2.2.5 This library package calls exit() or _exit(), probably in a non-fork() context. Doing so from a library is strongly discouraged - when a library function calls exit(), it prevents the calling program from handling the error, reporting it to the user, closing files properly, and cleaning up any state that the program has. It is preferred for the library to return an actual error code and let the calling program decide how to handle the situation.

The warning means, that the library exits the program at an error instead of returning an error code to the calling binary. This is considered as bad practice, which has to be fixed upstream.