]> err.no Git - linux-2.6/commitdiff
When verifying the decoded header before decoding the object identifier
authorChris Wright <chrisw@sous-sol.org>
Thu, 24 Jul 2008 20:43:34 +0000 (20:43 +0000)
committerSteve French <sfrench@us.ibm.com>
Thu, 24 Jul 2008 20:43:34 +0000 (20:43 +0000)
(expecting a SPNEGO pseudo-mechanism oid), the test to verify it is a
primitive encoding is compared against the asn1 class.  Primitive is not a
class.  This brings check in line with similar check for krb/ntlmssp oid.

Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Cc: Steven French <sfrench@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/asn1.c

index 42765465701c4911bf5ec94ca7c04f2d89ce891b..6bb440b257b01337e21434d9ef2b8e3d0f5aeb1d 100644 (file)
@@ -494,7 +494,7 @@ 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) && (cls == ASN1_PRI)) {
+                       if ((tag == ASN1_OJI) && (con == ASN1_PRI)) {
                                rc = asn1_oid_decode(&ctx, end, &oid, &oidlen);
                                if (rc) {
                                        rc = compare_oid(oid, oidlen,