aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/asn1.c
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2008-07-29 17:20:14 -0400
committerSteve French <sfrench@us.ibm.com>2008-07-29 17:20:14 -0400
commit44051fed5763c4f55eb8a7eeae6ede52bc15f85f (patch)
treea23b663ca7e92627856cce731ebe0b523d6c51fd /fs/cifs/asn1.c
parent6e86841d05f371b5b9b86ce76c02aaee83352298 (diff)
[CIFS] oid should also be checked against class in cifs asn
The oid coming back from asn1_header_decode is a primitive object so class should be checked to be universal. Acked-by: Love Hörnquist Åstrand <lha@kth.se> Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/asn1.c')
-rw-r--r--fs/cifs/asn1.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/cifs/asn1.c b/fs/cifs/asn1.c
index 6bb440b257b..669d0640b6d 100644
--- a/fs/cifs/asn1.c
+++ b/fs/cifs/asn1.c
@@ -494,7 +494,8 @@ decode_negTokenInit(unsigned char *security_blob, int length,
494 /* remember to free obj->oid */ 494 /* remember to free obj->oid */
495 rc = asn1_header_decode(&ctx, &end, &cls, &con, &tag); 495 rc = asn1_header_decode(&ctx, &end, &cls, &con, &tag);
496 if (rc) { 496 if (rc) {
497 if ((tag == ASN1_OJI) && (con == ASN1_PRI)) { 497 if ((tag == ASN1_OJI) && (con == ASN1_PRI) &&
498 (cls == ASN1_UNI)) {
498 rc = asn1_oid_decode(&ctx, end, &oid, &oidlen); 499 rc = asn1_oid_decode(&ctx, end, &oid, &oidlen);
499 if (rc) { 500 if (rc) {
500 rc = compare_oid(oid, oidlen, 501 rc = compare_oid(oid, oidlen,