[OTR-dev] 4.0.0-rc3 ready to roll. Please try it out!
Ian Goldberg
ian at cypherpunks.ca
Mon Aug 27 20:24:35 EDT 2012
On Tue, Aug 28, 2012 at 01:49:34AM +0200, Thibaut VARENE wrote:
> While I'm there, one thing I should probably point out while you're still in RC:
>
> X: libotr5: shlib-calls-exit usr/lib/libotr.so.5.0.0
> N:
> N: The listed shared library calls the C library exit() or _exit()
> N: functions.
> N:
> N: In the case of an error, the library should instead return an
> N: appropriate error code to the calling program which can then determine
> N: how to handle the error, including performing any required clean-up.
> N:
> N: In most cases, removing the call should be discussed with upstream,
> N: particularly as it may produce an ABI change.
> N:
> N: Severity: wishlist, Certainty: possible
> N:
> N: Check: shared-libs, Type: binary, udeb
> N:
> N: This tag is marked experimental, which means that the code that
> N: generates it is not as well-tested as the rest of Lintian and might
> N: still give surprising results. Feel free to ignore experimental tags
> N: that do not seem to make sense, though of course bug reports are always
> N: welcomed.
> N:
>
> That aside, it builds fine, including with hardening. Uploaded to
> experimental queue to replace the buggy rc1 that was previously
> uploaded.
>
> HTH
Indeed, otrl_init(ver_major, ver_minor, ver_sub) calls exit(1) if the
passed version numbers are incompatible with the library's actual
version.
Seeing as how it's intended to be called from this macro:
#define OTRL_INIT do { \
otrl_init(OTRL_VERSION_MAJOR, OTRL_VERSION_MINOR, OTRL_VERSION_SUB); \
} while(0)
I suppose we could change otrl_init to return an error code, and change
the *macro* to call exit() upon otrl_init returning an error. Although
technically the ABI would change, the API wouldn't.
I will consider this for inclusion before release.
Thanks for the note!
- Ian
More information about the OTR-dev
mailing list