ehlo, Attached patches should fix issues from ticket https://fedorahosted.org/sssd/ticket/2258
LS
>From 26fffa4a771d4ddffff82c8f75042fbe7c51328a Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik <lsleb...@redhat.com> Date: Wed, 26 Feb 2014 09:45:46 +0100 Subject: [PATCH 1/4] KRB5: Fix condition for empty string Reported by: cppcheck Finding the same expression on both sides of an operator || is suspicious and might indicate a cut and paste or logic error. Resolves: https://fedorahosted.org/sssd/ticket/2258 --- src/providers/krb5/krb5_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/providers/krb5/krb5_common.c b/src/providers/krb5/krb5_common.c index 3d0fc0bfa1a255140c17273ed01df5699be2ef5a..bf7b1f0e016c95c1f7f0501e3413b82927bf7ca6 100644 --- a/src/providers/krb5/krb5_common.c +++ b/src/providers/krb5/krb5_common.c @@ -422,7 +422,7 @@ errno_t write_krb5info_file(const char *realm, const char *server, mode_t old_umask; if (realm == NULL || *realm == '\0' || server == NULL || *server == '\0' || - service == NULL || service == '\0') { + service == NULL || *service == '\0') { DEBUG(SSSDBG_CRIT_FAILURE, "Missing or empty realm, server or service.\n"); return EINVAL; -- 1.8.5.3
>From 79b8266d593c89e21509da665d1ec7e61fc08a2c Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik <lsleb...@redhat.com> Date: Wed, 26 Feb 2014 10:17:06 +0100 Subject: [PATCH 2/4] NSS: Fix warning access array with index then check Reported by:cppcheck Defensive programming: The variable 'i' is used as an array index before it is checked that is within limits. This can mean that the array might be accessed out of bounds. This patch eorder condition such as '(a[i] && i <blen) to (i < blen && a[i]). That way the array will not be accessed if the index is out of limits. --- src/responder/nss/nsssrv_services.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/responder/nss/nsssrv_services.c b/src/responder/nss/nsssrv_services.c index c37e0b366e76f0bacde2ad41ba9943be93fa7c8b..7741768021cc4a669bd3eda286cd1f25876a55f6 100644 --- a/src/responder/nss/nsssrv_services.c +++ b/src/responder/nss/nsssrv_services.c @@ -908,7 +908,7 @@ errno_t parse_getservbyname(TALLOC_CTX *mem_ctx, i = j = 0; /* Copy in the service name */ - while (body[i] && i < (blen - 1)) { + while (i < (blen - 1) && body[i]) { rawname[j] = body[i]; i++; j++; @@ -943,7 +943,7 @@ errno_t parse_getservbyname(TALLOC_CTX *mem_ctx, goto done; } - while (body[i] && i < blen) { + while (i < blen && body[i]) { protocol[j] = body[i]; i++; j++; @@ -1071,7 +1071,7 @@ errno_t parse_getservbyport(TALLOC_CTX *mem_ctx, goto done; } - while (body[i] && i < blen) { + while (i < blen && body[i]) { protocol[j] = body[i]; i++; j++; -- 1.8.5.3
>From 2eacacf913539290b5722f47508817076905acaf Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik <lsleb...@redhat.com> Date: Wed, 26 Feb 2014 10:14:39 +0100 Subject: [PATCH 3/4] TEST: Fix warning invalid printf argument type Reported by: cppcheck "%d" in format string (no. 1) requires 'int' but the argument type is 'unsigned int' --- src/tests/util-tests.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/util-tests.c b/src/tests/util-tests.c index 82ab5a0e8edb2398ed74028ec01a411f4cf832a9..5d378e4f8eadfd6861adfa71caa2cc591ca9e649 100644 --- a/src/tests/util-tests.c +++ b/src/tests/util-tests.c @@ -522,7 +522,7 @@ START_TEST(test_murmurhash3_random) } test[len] = '\0'; /* null terminate */ - fprintf(stdout, "test_murmurhash3_random seed: %d\n", init_seed); + fprintf(stdout, "test_murmurhash3_random seed: %u\n", init_seed); result1 = murmurhash3(test, len + 1, init_seed); result2 = murmurhash3(test, len + 1, init_seed); -- 1.8.5.3
>From dc297a80d00fe3c3b356e85ba62cafa4d49ce006 Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik <lsleb...@redhat.com> Date: Wed, 26 Feb 2014 10:21:03 +0100 Subject: [PATCH 4/4] Remove unused structures. Reported by: cppcheck 'struct py_sss_transaction', 'struct resolve_get_domain_stat', 'struct sync_op_res' were defined in implementation modules, but they were not used anywhere. --- src/providers/fail_over.c | 5 ----- src/python/pysss.c | 11 ----------- src/tools/sss_sync_ops.c | 6 ------ 3 files changed, 22 deletions(-) diff --git a/src/providers/fail_over.c b/src/providers/fail_over.c index c47e5f7309c0afd445a1ee35a84c14bbf43c7113..e10556c994f4eefdd2013fe949521c470abcec1a 100644 --- a/src/providers/fail_over.c +++ b/src/providers/fail_over.c @@ -1384,11 +1384,6 @@ resolve_srv_recv(struct tevent_req *req, struct fo_server **server) /******************************************************************* * Get Fully Qualified Domain Name of the host machine * *******************************************************************/ -struct resolve_get_domain_state { - char *fqdn; - char hostname[HOST_NAME_MAX]; -}; - static void set_server_common_status(struct server_common *common, enum server_status status) diff --git a/src/python/pysss.c b/src/python/pysss.c index f56916ddf8cb81f67de891fc5f87513298e14c33..668d77c5694d5eeedd1ec97bb15ac242356be812 100644 --- a/src/python/pysss.c +++ b/src/python/pysss.c @@ -76,17 +76,6 @@ typedef struct { } PySssLocalObject; /* - * The transaction object - */ -struct py_sss_transaction { - PySssLocalObject *self; - struct ops_ctx *ops; - - bool transaction_done; - int error; -}; - -/* * Error reporting */ static void PyErr_SetSssErrorWithMessage(int ret, const char *message) diff --git a/src/tools/sss_sync_ops.c b/src/tools/sss_sync_ops.c index b4366d7a98460a615ec6161d65ad5323c878bc38..4c8f7102e6da4a7de819979096482853246e974f 100644 --- a/src/tools/sss_sync_ops.c +++ b/src/tools/sss_sync_ops.c @@ -43,12 +43,6 @@ } \ } while(0) -struct sync_op_res { - struct ops_ctx *data; - int error; - bool done; -}; - /* * Generic modify groups member */ -- 1.8.5.3
_______________________________________________ sssd-devel mailing list sssd-devel@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/sssd-devel