Skip to content

Commit

Permalink
Expand kadmin protocol kvno range
Browse files Browse the repository at this point in the history
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
  • Loading branch information
greghudson committed Apr 15, 2015
1 parent 1d4df22 commit 49b2c5e
Showing 1 changed file with 1 addition and 14 deletions.
15 changes: 1 addition & 14 deletions src/lib/kadm5/kadm_rpc_xdr.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 49b2c5e

Please sign in to comment.