--- sssd-1.16.3/src/providers/ad/ad_gpo_ndr.c 2018-08-12 15:21:41.000000000 +0200 +++ sssd-1.16.3/src/providers/ad/ad_gpo_ndr.c.new 2019-03-23 20:28:16.000000000 +0100 @@ -258,7 +258,7 @@ ndr_pull_dom_sid(struct ndr_pull *ndr, NDR_CHECK(ndr_pull_align(ndr, 4)); NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->sid_rev_num)); NDR_CHECK(ndr_pull_int8(ndr, NDR_SCALARS, &r->num_auths)); - if (r->num_auths < 0 || r->num_auths > ARRAY_SIZE(r->sub_auths)) { + if (r->num_auths < 0 || r->num_auths > N_ELEMENTS(r->sub_auths)) { return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range"); } NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->id_auth, 6)); --- sssd-1.16.3/src/util/util.h 2018-08-12 15:21:41.000000000 +0200 +++ sssd-1.16.3/src/util/util.h.new 2019-03-25 11:12:02.300727415 +0100 @@ -722,4 +722,8 @@ errno_t create_preauth_indicator(void); #define P11_CHILD_TIMEOUT_DEFAULT 10 #endif /* SSSD_LIBEXEC_PATH */ +#ifndef N_ELEMENTS +#define N_ELEMENTS(arr) (sizeof(arr) / sizeof(arr[0])) +#endif + #endif /* __SSSD_UTIL_H__ */ --- sssd-1.16.3/src/tests/common.h 2018-08-12 15:21:41.000000000 +0200 +++ sssd-1.16.3/src/tests/common.h.new 2019-03-25 11:15:16.211136440 +0100 @@ -39,8 +39,6 @@ #define SSS_ATTRIBUTE_WARN_UNUSED_RESULT #endif -#define N_ELEMENTS(arr) (sizeof(arr) / sizeof(arr[0])) - extern TALLOC_CTX *global_talloc_context; void check_leaks_push(TALLOC_CTX *ctx);