[linux-cifs-client] [PATCH] cifs: primitive is not an asn1 class

Chris Wright chrisw at sous-sol.org
Wed Jun 4 17:40:02 GMT 2008


When verifying the decoded header before decoding the object identifier
(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 at sous-sol.org>
---
 fs/cifs/asn1.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/cifs/asn1.c b/fs/cifs/asn1.c
index cb52cbb..49be2ed 100644
--- a/fs/cifs/asn1.c
+++ b/fs/cifs/asn1.c
@@ -480,7 +480,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,


More information about the linux-cifs-client mailing list