]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Expand kadmin protocol kvno range
authorGreg Hudson <ghudson@mit.edu>
Wed, 4 Mar 2015 22:19:56 +0000 (17:19 -0500)
committerGreg Hudson <ghudson@mit.edu>
Wed, 15 Apr 2015 04:09:07 +0000 (00:09 -0400)
Make xdr_krb5_kvno() use xdr_u_int() instead of xdr_u_char(), allowing
it to marshal kvno values up to 32 bits.  This change is
backwards-compatible because XDR uses four bytes to marshal char
values and does no bounds checking of char values on decode.

ticket: 7532

src/lib/kadm5/kadm_rpc_xdr.c

index 4ccf8e653b0de9270604e32db18baaa349b45060..2bef8586312fc59c11b0b88122b53be0ecc82a6f 100644 (file)
@@ -136,20 +136,7 @@ xdr_krb5_timestamp(XDR *xdrs, krb5_timestamp *objp)
 bool_t
 xdr_krb5_kvno(XDR *xdrs, krb5_kvno *objp)
 {
-       unsigned char tmp;
-
-       tmp = '\0'; /* for purify, else xdr_u_char performs a umr */
-
-       if (xdrs->x_op == XDR_ENCODE)
-               tmp = (unsigned char) *objp;
-
-       if (!xdr_u_char(xdrs, &tmp))
-               return (FALSE);
-
-       if (xdrs->x_op == XDR_DECODE)
-               *objp = (krb5_kvno) tmp;
-
-       return (TRUE);
+       return xdr_u_int(xdrs, objp);
 }
 
 bool_t