From f85b233a3e71447428aef312d8d369a37653f399 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Deschner?= Date: Tue, 27 Sep 2016 18:34:38 +0200 Subject: [PATCH] s4-kdc: Fix Coverity ID #1373385 (OVERRUN) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Guenther Pair-Programmed-With: Volker Lendecke Pair-Programmed-With: Andreas Schneider Signed-off-by: Guenther Deschner Signed-off-by: Andreas Schneider Signed-off-by: Volker Lendecke Autobuild-User(master): Günther Deschner Autobuild-Date(master): Thu Sep 29 22:16:52 CEST 2016 on sn-devel-144 --- source4/kdc/db-glue.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/source4/kdc/db-glue.c b/source4/kdc/db-glue.c index d7bba3d35e4..bf55befddf8 100644 --- a/source4/kdc/db-glue.c +++ b/source4/kdc/db-glue.c @@ -236,10 +236,8 @@ static int samba_kdc_sort_encryption_keys(struct sdb_entry_ex *entry_ex) for (j = 0; j < keys_size; j++) { const struct sdb_key skey = keys[j]; - /* Paranoia: Do not overflow the key_data array */ - if (idx > keys_size) { - free(sorted_keys); - return -1; + if (idx == keys_size) { + break; } if (KRB5_KEY_TYPE(&skey.key) == etype_list[i]) { @@ -250,7 +248,7 @@ static int samba_kdc_sort_encryption_keys(struct sdb_entry_ex *entry_ex) } /* Paranoia: Something went wrong during data copy */ - if (idx < keys_size) { + if (idx != keys_size) { free(sorted_keys); return -1; }