wrap_size_limit.c (krb5_gss_wrap_size_limit): Fix bug where if the
authorTheodore Tso <tytso@mit.edu>
Fri, 6 Feb 1998 03:48:00 +0000 (03:48 +0000)
committerTheodore Tso <tytso@mit.edu>
Fri, 6 Feb 1998 03:48:00 +0000 (03:48 +0000)
output header size is greater than the maximum requested output size,
return 0 rather than a very large unsigned number.  :-)

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@10413 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/gssapi/krb5/ChangeLog
src/lib/gssapi/krb5/wrap_size_limit.c

index f242894f43047f57ee0d879688f8c3c8dc013a49..1626ec2cfe3394e399d269bd8cf87e844bbeecd5 100644 (file)
@@ -1,3 +1,10 @@
+Thu Feb  5 22:39:44 1998  Theodore Y. Ts'o  <tytso@mit.edu>
+
+       * wrap_size_limit.c (krb5_gss_wrap_size_limit): Fix bug where if
+               the output header size is greater than the maximum
+               requested output size, return 0 rather than a very large
+               unsigned number.  :-)
+
 Fri Jan 30 23:07:40 1998  Tom Yu  <tlyu@mit.edu>
 
        * init_sec_context.c (krb5_gss_init_sec_context): Actually
index 8c47d0fa67fb3dc4cb52685a8a7e78ba901ce65a..e883efde1ba347f1cf54a5aebfd085810460d248 100644 (file)
@@ -68,8 +68,14 @@ krb5_gss_wrap_size_limit(minor_status, context_handle, conf_req_flag,
     ohlen = g_token_size((gss_OID) ctx->mech_used,
                         (unsigned int) cfsize + ctx->cksum_size + 14);
 
-    /* Cannot have trailer length that will cause us to pad over our length */
-    *max_input_size = (req_output_size - ohlen) & (~7);
+    if (ohlen < req_output_size)
+           /*
+            * Cannot have trailer length that will cause us to pad over
+            * our length
+            */
+           *max_input_size = (req_output_size - ohlen) & (~7);
+    else
+           *max_input_size = 0;
     *minor_status = 0;
     return(GSS_S_COMPLETE);
 }