diff options
author | Günther Deschner <gd@samba.org> | 2016-09-27 18:34:38 +0200 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2016-09-29 22:16:52 +0200 |
commit | f85b233a3e71447428aef312d8d369a37653f399 (patch) | |
tree | 5306e9eb6c9b54f89a3b6fbab09a49ba73e7deb5 /source4 | |
parent | 9ad014ea4f9e0a770e4d90815410844180e22461 (diff) | |
download | samba-f85b233a3e71447428aef312d8d369a37653f399.tar.gz |
s4-kdc: Fix Coverity ID #1373385 (OVERRUN)
Guenther
Pair-Programmed-With: Volker Lendecke <vl@samba.org>
Pair-Programmed-With: Andreas Schneider <asn@samba.org>
Signed-off-by: Guenther Deschner <gd@samba.org>
Signed-off-by: Andreas Schneider <asn@samba.org>
Signed-off-by: Volker Lendecke <vl@samba.org>
Autobuild-User(master): Günther Deschner <gd@samba.org>
Autobuild-Date(master): Thu Sep 29 22:16:52 CEST 2016 on sn-devel-144
Diffstat (limited to 'source4')
-rw-r--r-- | source4/kdc/db-glue.c | 8 |
1 files 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; } |