summaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorJames Morris <james.l.morris@oracle.com>2017-10-19 12:28:38 +1100
committerJames Morris <james.l.morris@oracle.com>2017-10-19 12:28:38 +1100
commite057de7bfebf7a7091f3446ba3d3f681395f8e5e (patch)
tree39e85aa1e658baeb02609212711c7ec76b901564 /crypto
parent58425dc5a756e7d9cab4d4f0632c0455e1419279 (diff)
parent86744701eaebb79b104f1a204a332b2e42725ada (diff)
downloadlinux-crypto-e057de7bfebf7a7091f3446ba3d3f681395f8e5e.tar.gz
linux-crypto-e057de7bfebf7a7091f3446ba3d3f681395f8e5e.zip
Merge commit 'tags/keys-fixes-20171018' into fixes-v4.14-rc5
Diffstat (limited to 'crypto')
-rw-r--r--crypto/asymmetric_keys/asymmetric_type.c4
-rw-r--r--crypto/asymmetric_keys/pkcs7_parser.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/crypto/asymmetric_keys/asymmetric_type.c b/crypto/asymmetric_keys/asymmetric_type.c
index e4b0ed38..39aecad2 100644
--- a/crypto/asymmetric_keys/asymmetric_type.c
+++ b/crypto/asymmetric_keys/asymmetric_type.c
@@ -57,6 +57,8 @@ struct key *find_asymmetric_key(struct key *keyring,
char *req, *p;
int len;
+ BUG_ON(!id_0 && !id_1);
+
if (id_0) {
lookup = id_0->data;
len = id_0->len;
@@ -105,7 +107,7 @@ struct key *find_asymmetric_key(struct key *keyring,
if (id_0 && id_1) {
const struct asymmetric_key_ids *kids = asymmetric_key_ids(key);
- if (!kids->id[0]) {
+ if (!kids->id[1]) {
pr_debug("First ID matches, but second is missing\n");
goto reject;
}
diff --git a/crypto/asymmetric_keys/pkcs7_parser.c b/crypto/asymmetric_keys/pkcs7_parser.c
index af4cd864..d140d8bb 100644
--- a/crypto/asymmetric_keys/pkcs7_parser.c
+++ b/crypto/asymmetric_keys/pkcs7_parser.c
@@ -88,6 +88,9 @@ static int pkcs7_check_authattrs(struct pkcs7_message *msg)
bool want = false;
sinfo = msg->signed_infos;
+ if (!sinfo)
+ goto inconsistent;
+
if (sinfo->authattrs) {
want = true;
msg->have_authattrs = true;