]> err.no Git - linux-2.6/commitdiff
[CIFS] oid should also be checked against class in cifs asn
authorSteve French <sfrench@us.ibm.com>
Tue, 29 Jul 2008 21:20:14 +0000 (21:20 +0000)
committerSteve French <sfrench@us.ibm.com>
Tue, 29 Jul 2008 21:20:14 +0000 (21:20 +0000)
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>
fs/cifs/asn1.c

index 6bb440b257b01337e21434d9ef2b8e3d0f5aeb1d..669d0640b6d6c2d4d737e3361dbd22f3d5651cd0 100644 (file)
@@ -494,7 +494,8 @@ decode_negTokenInit(unsigned char *security_blob, int length,
                /*      remember to free obj->oid */
                rc = asn1_header_decode(&ctx, &end, &cls, &con, &tag);
                if (rc) {
-                       if ((tag == ASN1_OJI) && (con == ASN1_PRI)) {
+                       if ((tag == ASN1_OJI) && (con == ASN1_PRI) &&
+                           (cls == ASN1_UNI)) {
                                rc = asn1_oid_decode(&ctx, end, &oid, &oidlen);
                                if (rc) {
                                        rc = compare_oid(oid, oidlen,