>From 078ae4d168e98157b6c78d6c7f31e0bd1fafe395 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Fri, 27 Mar 2015 12:57:17 +0100 Subject: [PATCH 1/5] ncache: Fix sss_ncache_reset_permanent There was an off-by-one error in sss_ncache_reset_permanent that prevented the reset from working. --- src/responder/common/negcache.c | 2 +- src/tests/cmocka/test_negcache.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/responder/common/negcache.c b/src/responder/common/negcache.c index 88dd18fa5348fca223a0b2db844e3d17286045b7..04c9a53f556497173daf1ef9c562896cb2d5bbc9 100644 --- a/src/responder/common/negcache.c +++ b/src/responder/common/negcache.c @@ -556,7 +556,7 @@ static int delete_permanent(struct tdb_context *tdb, char *ep; if (strncmp((char *)key.dptr, - NC_ENTRY_PREFIX, sizeof(NC_ENTRY_PREFIX)) != 0) { + NC_ENTRY_PREFIX, sizeof(NC_ENTRY_PREFIX) - 1) != 0) { /* not interested in this key */ return 0; } diff --git a/src/tests/cmocka/test_negcache.c b/src/tests/cmocka/test_negcache.c index f98081337517de2c4fba62910a032323f57ba259..4502c0294e772b15bf230d485e02c40e2ffbf2d6 100644 --- a/src/tests/cmocka/test_negcache.c +++ b/src/tests/cmocka/test_negcache.c @@ -563,10 +563,21 @@ static void test_sss_ncache_reset_permanent(void **state) { int ret; struct test_state *ts; + const bool permanent = true; ts = talloc_get_type_abort(*state, struct test_state); + + ret = sss_ncache_set_uid(ts->ctx, permanent, 0); + assert_int_equal(ret, EOK); + + ret = sss_ncache_check_uid(ts->ctx, 0, 0); + assert_int_equal(ret, EEXIST); + ret = sss_ncache_reset_permanent(ts->ctx); assert_int_equal(ret, EOK); + + ret = sss_ncache_check_uid(ts->ctx, 0, 0); + assert_int_equal(ret, ENOENT); } static void test_sss_ncache_prepopulate(void **state) -- 2.1.0