On Thu, 2012-04-26 at 13:51 +0200, Jakub Hrozek wrote:
I scanned the SSSD source code with the clang static analyzer and
found
a number of issues. Patches are attached -- I think that most of them
are OK to just include in master. Patches #1, #13 and #16 may be
something that we want to include sooner.
Because the clang analyzer is freely available in Fedora, I think it would
make sense to run a scan at least before a release.
Developers can also run the clang tool themselves - I'll add info how
into our Developers page.
Patch 0001: Ack
Patch 0002: Ack
Patch 0003: Ack
Patch 0004: Nack
There is no NULL-termination guarantee here. We only initialize pid_str
with the first element being NULL.
Patch 0005: Ack
Patch 0006: Ack
Patch 0007: Ack
Patch 0008: Ack
Patch 0009: Ack
Patch 0010: Nack
If we're reporting ret (which is an errno_t value) I'd prefer if the
DEBUG messages included the strerror() conversion, since it's much
easier to read.
Patch 0011: Ack
Patch 0012: Ack
Patch 0013: Ack
Patch 0014: Nack
This is not the only case in ipa_get_autofs_options(), but returning
here leaks tmp_ctx and anything still attached to it. Please fix all
such cases here.
Patch 0015: Ack.
Patch 0016: Ack.
Patch 0017: Ack.
Patch 0018: Nack
A tevent_req *_send() function should only return NULL if the
tevent_req_create() fails. Otherwise, all other failures should be
reported with tevent_req_error() and tevent_req_post().
I've pushed the acked patches to master (that's all but 0004, 0010, 0014
and 0018).