]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/kerberos.c
Happy new year! (belated)
[openldap] / servers / slapd / kerberos.c
index b7c6d70917997db89566c495cb8b6163d3b3e824..e43bd0b45c1289355d134a2670ccc6aa1b3b3fa2 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2004 The OpenLDAP Foundation.
+ * Copyright 1998-2008 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,12 +41,16 @@ krbv4_ldap_auth(
 
        Debug( LDAP_DEBUG_TRACE, "=> kerberosv4_ldap_auth\n", 0, 0, 0 );
 
+       if( cred->len > sizeof(ktxt->dat) ) {
+               return LDAP_OTHER;
+       }
+
        AC_MEMCPY( ktxt->dat, cred->bv_val, cred->bv_len );
        ktxt->length = cred->bv_len;
 
        strcpy( instance, "*" );
        if ( (err = krb_rd_req( ktxt, LDAP_KRB_PRINCIPAL, instance, 0L, ad,
-           SLAPD_GLOBAL(ldap_srvtab) )) != KSUCCESS ) {
+           ldap_srvtab )) != KSUCCESS ) {
                Debug( LDAP_DEBUG_ANY, "krb_rd_req failed (%s)\n",
                    krb_err_txt[err], 0, 0 );
                return( LDAP_INVALID_CREDENTIALS );