URL: https://github.com/SSSD/sssd/pull/601
Title: #601: sbus: integrate sssd with sbus2

jhrozek commented:
"""
There is a large number of Coverity warnings that need to be fixed:
```
Error: CLANG_WARNING:
sssd-1.16.3/src/providers/data_provider/dp_iface_backend.c:40:9: warning: Value 
stored to 'domain' is never read
#        domain = be_ctx->domain;
#        ^        ~~~~~~~~~~~~~~
sssd-1.16.3/src/providers/data_provider/dp_iface_backend.c:40:9: note: Value 
stored to 'domain' is never read
#        domain = be_ctx->domain;
#        ^        ~~~~~~~~~~~~~~
#   38|   
#   39|       if (SBUS_REQ_STRING_IS_EMPTY(domname)) {
#   40|->         domain = be_ctx->domain;
#   41|           *_is_online = be_is_offline(be_ctx);
#   42|           return EOK;

Error: UNINIT (CWE-457):
sssd-1.16.3/src/providers/data_provider/dp_target_sudo.c:40: var_decl: 
Declaring variable "rules" without initializer.
sssd-1.16.3/src/providers/data_provider/dp_target_sudo.c:85: uninit_use: Using 
uninitialized value "rules".
#   83|       *_dp_flags = dp_flags;
#   84|       *_sudo_type = sudo_type;
#   85|->     *_rules = rules;
#   86|   
#   87|       return EOK;

Error: CLANG_WARNING:
sssd-1.16.3/src/providers/data_provider/dp_target_sudo.c:85:13: warning: 
Assigned value is garbage or undefined
#    *_rules = rules;
#            ^
sssd-1.16.3/src/providers/data_provider/dp_target_sudo.c:125:9: note: Assuming 
'req' is not equal to NULL
#    if (req == NULL) {
#        ^~~~~~~~~~~
sssd-1.16.3/src/providers/data_provider/dp_target_sudo.c:125:5: note: Taking 
false branch
#    if (req == NULL) {
#    ^
sssd-1.16.3/src/providers/data_provider/dp_target_sudo.c:131:9: note: Assuming 
the condition is false
#    if (state->data == NULL) {
#        ^~~~~~~~~~~~~~~~~~~
sssd-1.16.3/src/providers/data_provider/dp_target_sudo.c:131:5: note: Taking 
false branch
#    if (state->data == NULL) {
#    ^
sssd-1.16.3/src/providers/data_provider/dp_target_sudo.c:136:11: note: Calling 
'dp_sudo_parse_message'
#    ret = dp_sudo_parse_message(state, read_iter, &dp_flags,
#          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sssd-1.16.3/src/providers/data_provider/dp_target_sudo.c:40:5: note: 'rules' 
declared without an initial value
#    const char **rules;
#    ^~~~~~~~~~~~~~~~~~
sssd-1.16.3/src/providers/data_provider/dp_target_sudo.c:44:9: note: Assuming 
'ret' is equal to EOK
#    if (ret != EOK) {
#        ^~~~~~~~~~
sssd-1.16.3/src/providers/data_provider/dp_target_sudo.c:44:5: note: Taking 
false branch
#    if (ret != EOK) {
#    ^
sssd-1.16.3/src/providers/data_provider/dp_target_sudo.c:50:9: note: Assuming 
'ret' is equal to EOK
#    if (ret != EOK) {
#        ^~~~~~~~~~
sssd-1.16.3/src/providers/data_provider/dp_target_sudo.c:50:5: note: Taking 
false branch
#    if (ret != EOK) {
#    ^
sssd-1.16.3/src/providers/data_provider/dp_target_sudo.c:56:5: note: Control 
jumps to 'case 6:'  at line 57
#    switch (sudo_type) {
#    ^
sssd-1.16.3/src/providers/data_provider/dp_target_sudo.c:59:9: note:  Execution 
continues on line 83
#        break;
#        ^
sssd-1.16.3/src/providers/data_provider/dp_target_sudo.c:85:13: note: Assigned 
value is garbage or undefined
#    *_rules = rules;
#            ^ ~~~~~
#   83|       *_dp_flags = dp_flags;
#   84|       *_sudo_type = sudo_type;
#   85|->     *_rules = rules;
#   86|   
#   87|       return EOK;

Error: CLANG_WARNING:
sssd-1.16.3/src/responder/ifp/ifp_groups.c:997:9: warning: Value stored to 
'num_users' is never read
#        num_users = 0;
#        ^           ~
sssd-1.16.3/src/responder/ifp/ifp_groups.c:997:9: note: Value stored to 
'num_users' is never read
#        num_users = 0;
#        ^           ~
#  995|           users = NULL;
#  996|           groups = NULL;
#  997|->         num_users = 0;
#  998|           num_groups = 0;
#  999|           ret = EOK;

Error: CLANG_WARNING:
sssd-1.16.3/src/responder/ifp/ifp_groups.c:998:9: warning: Value stored to 
'num_groups' is never read
#        num_groups = 0;
#        ^            ~
sssd-1.16.3/src/responder/ifp/ifp_groups.c:998:9: note: Value stored to 
'num_groups' is never read
#        num_groups = 0;
#        ^            ~
#  996|           groups = NULL;
#  997|           num_users = 0;
#  998|->         num_groups = 0;
#  999|           ret = EOK;
# 1000|           goto done;

Error: FORWARD_NULL (CWE-476):
sssd-1.16.3/src/sbus/codegen/sbus_Generator.py:762: assign_null: Assigning: 
"type" = "None".
sssd-1.16.3/src/sbus/codegen/sbus_Generator.py:772: property_access: Accessing 
a property of null-like value "type".
#  770|                       )
#  771|   
#  772|->                 tpl.show("if-use-talloc", type.RequireTalloc)
#  773|   
#  774|                   keys = {"input-signature": 
invoker.input.invokerSignature,

Error: UNREACHABLE (CWE-561):
sssd-1.16.3/src/sbus/interface/sbus_introspection.c:252: unreachable: This code 
cannot be reached: "return "invalid";".
#  250|       }
#  251|   
#  252|->     return "invalid";
#  253|   }
#  254|   

Error: FORWARD_NULL (CWE-476):
sssd-1.16.3/src/sbus/request/sbus_request.c:232: assign_zero: Assigning: 
"mainreq" = "NULL".
sssd-1.16.3/src/sbus/request/sbus_request.c:260: var_deref_model: Passing null 
pointer "mainreq" to "sbus_requests_finish", which dereferences it.
sssd-1.16.3/src/sbus/request/sbus_request_hash.c:268:5: deref_parm: Directly 
dereferencing parameter "item".
#  266|                        errno_t error)
#  267|   {
#  268|->     if (item->is_invalid) {
#  269|           return;
#  270|       }

Error: FORWARD_NULL (CWE-476):
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:352: var_compare_op: Comparing 
"a->object_path" to null implies that "a->object_path" might be null.
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:356: var_deref_model: Passing 
null pointer "a->object_path" to "strcmp", which dereferences it.
#  354|           }
#  355|   
#  356|->         if (strcmp(a->object_path, b->object_path) != 0) {
#  357|               continue;
#  358|           }

Error: FORWARD_NULL (CWE-476):
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:348: var_compare_op: Comparing 
"b->object_path" to null implies that "b->object_path" might be null.
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:356: var_deref_model: Passing 
null pointer "b->object_path" to "strcmp", which dereferences it.
#  354|           }
#  355|   
#  356|->         if (strcmp(a->object_path, b->object_path) != 0) {
#  357|               continue;
#  358|           }

Error: CLANG_WARNING:
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:356:13: warning: Null pointer 
passed as an argument to a 'nonnull' parameter
#        if (strcmp(a->object_path, b->object_path) != 0) {
#            ^
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:427:9: note: Assuming 'tmp_ctx' 
is not equal to NULL
#    if (tmp_ctx == NULL) {
#        ^~~~~~~~~~~~~~~
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:427:5: note: Taking false branch
#    if (tmp_ctx == NULL) {
#    ^
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:433:9: note: Assuming 'key' is 
not equal to NULL
#    if (key == NULL) {
#        ^~~~~~~~~~~
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:433:5: note: Taking false branch
#    if (key == NULL) {
#    ^
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:439:9: note: Assuming 'item' is 
not equal to NULL
#    if (item == NULL) {
#        ^~~~~~~~~~~~
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:439:5: note: Taking false branch
#    if (item == NULL) {
#    ^
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:444:22: note: Value assigned to 
field 'object_path'
#    item->listener = sbus_listener_copy(item, listener);
#                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:445:9: note: Assuming the 
condition is false
#    if (item->listener == NULL) {
#        ^~~~~~~~~~~~~~~~~~~~~~
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:445:5: note: Taking false branch
#    if (item->listener == NULL) {
#    ^
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:453:9: note: Assuming 'list' is 
not equal to NULL
#    if (list != NULL) {
#        ^~~~~~~~~~~~
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:453:5: note: Taking true branch
#    if (list != NULL) {
#    ^
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:456:13: note: Calling 
'sbus_listener_list_lookup'
#        if (sbus_listener_list_lookup(list, listener) != NULL) {
#            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:344:13: note: Assuming the 
condition is false
#        if (memcmp(&a->handler, &b->handler, sizeof(struct sbus_handler)) != 
0) {
#            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:344:9: note: Taking false branch
#        if (memcmp(&a->handler, &b->handler, sizeof(struct sbus_handler)) != 
0) {
#        ^
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:348:13: note: Assuming pointer 
value is null
#        if (a->object_path == NULL && b->object_path != NULL) {
#            ^~~~~~~~~~~~~~~~~~~~~~
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:348:13: note: Left side of '&&' 
is true
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:348:39: note: Assuming the 
condition is false
#        if (a->object_path == NULL && b->object_path != NULL) {
#                                      ^~~~~~~~~~~~~~~~~~~~~~
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:348:9: note: Taking false branch
#        if (a->object_path == NULL && b->object_path != NULL) {
#        ^
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:352:36: note: Left side of '&&' 
is false
#        if (a->object_path != NULL && b->object_path == NULL) {
#                                   ^
sssd-1.16.3/src/sbus/router/sbus_router_hash.c:356:13: note: Null pointer 
passed as an argument to a 'nonnull' parameter
#        if (strcmp(a->object_path, b->object_path) != 0) {
#            ^      ~~~~~~~~~~~~~~
#  354|           }
#  355|   
#  356|->         if (strcmp(a->object_path, b->object_path) != 0) {
#  357|               continue;
#  358|           }

Error: CLANG_WARNING:
sssd-1.16.3/src/sbus/server/sbus_server_match.c:335:9: warning: 1st function 
call argument is an uninitialized value
#        talloc_free(sbus_rule);
#        ^
/usr/include/talloc.h:228:26: note: expanded from macro 'talloc_free'
##define talloc_free(ctx) _talloc_free(ctx, __location__)
#                         ^
sssd-1.16.3/src/sbus/server/sbus_server_match.c:375:11: note: Calling 
'sbus_match_rule_parse'
#    ret = sbus_match_rule_parse(NULL, dbus_rule, &sbus_rule);
#          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sssd-1.16.3/src/sbus/server/sbus_server_match.c:308:5: note: 'sbus_rule' 
declared without an initial value
#    struct sbus_rule *sbus_rule;
#    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
sssd-1.16.3/src/sbus/server/sbus_server_match.c:314:9: note: Assuming 'ret' is 
equal to EOK
#    if (ret != EOK) {
#        ^~~~~~~~~~
sssd-1.16.3/src/sbus/server/sbus_server_match.c:314:5: note: Taking false branch
#    if (ret != EOK) {
#    ^
sssd-1.16.3/src/sbus/server/sbus_server_match.c:318:11: note: Calling 
'sbus_match_rule_parse_keys'
#    ret = sbus_match_rule_parse_keys(mem_ctx, tokens, &sbus_rule);
#          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sssd-1.16.3/src/sbus/server/sbus_server_match.c:253:9: note: Assuming 'rule' is 
equal to NULL
#    if (rule == NULL) {
#        ^~~~~~~~~~~~
sssd-1.16.3/src/sbus/server/sbus_server_match.c:253:5: note: Taking true branch
#    if (rule == NULL) {
#    ^
sssd-1.16.3/src/sbus/server/sbus_server_match.c:318:11: note: Returning from 
'sbus_match_rule_parse_keys'
#    ret = sbus_match_rule_parse_keys(mem_ctx, tokens, &sbus_rule);
#          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sssd-1.16.3/src/sbus/server/sbus_server_match.c:320:5: note: Taking true branch
#    if (ret != EOK) {
#    ^
sssd-1.16.3/src/sbus/server/sbus_server_match.c:321:9: note: Control jumps to 
line 334
#        goto done;
#        ^
sssd-1.16.3/src/sbus/server/sbus_server_match.c:334:5: note: Taking true branch
#    if (ret != EOK) {
#    ^
sssd-1.16.3/src/sbus/server/sbus_server_match.c:335:9: note: 1st function call 
argument is an uninitialized value
#        talloc_free(sbus_rule);
#        ^           ~~~~~~~~~
/usr/include/talloc.h:228:26: note: expanded from macro 'talloc_free'
##define talloc_free(ctx) _talloc_free(ctx, __location__)
#                         ^            ~~~
#  333|   done:
#  334|       if (ret != EOK) {
#  335|->         talloc_free(sbus_rule);
#  336|           DEBUG(SSSDBG_OP_FAILURE, "Unable to parse rule [%s] [%d]: 
%s\n",
#  337|                         dbus_rule, ret, sss_strerror(ret));

Error: CLANG_WARNING:
sssd-1.16.3/src/sss_iface/sss_iface_types.c:378:5: warning: Value stored to 
'resp' is never read
#    resp = pd->resp_list;
#    ^      ~~~~~~~~~~~~~
sssd-1.16.3/src/sss_iface/sss_iface_types.c:378:5: note: Value stored to 'resp' 
is never read
#    resp = pd->resp_list;
#    ^      ~~~~~~~~~~~~~
#  376|       }
#  377|   
#  378|->     resp = pd->resp_list;
#  379|       for (resp = pd->resp_list; resp != NULL; resp = resp->next) {
#  380|           dbret = dbus_message_iter_open_container(&array_iter, 
DBUS_TYPE_STRUCT,
```
"""

See the full comment at 
https://github.com/SSSD/sssd/pull/601#issuecomment-409166916
_______________________________________________
sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org
To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/sssd-devel@lists.fedorahosted.org/message/RVLYRH6Y66F5T7SFMCGRJCM7HJ3QXTF3/

Reply via email to