From: Günther Deschner Date: Tue, 27 Sep 2016 16:34:38 +0000 (+0200) Subject: s4-kdc: Fix Coverity ID #1373385 (OVERRUN) X-Git-Url: http://git.samba.org/?p=metze%2Fsamba%2Fwip.git;a=commitdiff_plain;h=f85b233a3e71447428aef312d8d369a37653f399 s4-kdc: Fix Coverity ID #1373385 (OVERRUN) 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 --- diff --git a/source4/kdc/db-glue.c b/source4/kdc/db-glue.c index d7bba3d35e4f..bf55befddf80 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; }