diff options
| author | Tom Yu <tlyu@mit.edu> | 2002-08-02 19:28:01 +0000 |
|---|---|---|
| committer | Tom Yu <tlyu@mit.edu> | 2002-08-02 19:28:01 +0000 |
| commit | f27fdd06f44f620002fb734f6c7cae47807e79c8 (patch) | |
| tree | 7f391af0ce8ad8b0237490149d0b3ae46a394343 /src | |
| parent | b41aa85f5d2201194989dc6079edaeffd0ba58b5 (diff) | |
| download | krb5-f27fdd06f44f620002fb734f6c7cae47807e79c8.tar.gz krb5-f27fdd06f44f620002fb734f6c7cae47807e79c8.tar.xz krb5-f27fdd06f44f620002fb734f6c7cae47807e79c8.zip | |
* xdr_array.c (xdr_array): Account for elsize when checking
encoded array count.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@14681 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/rpc/ChangeLog | 5 | ||||
| -rw-r--r-- | src/lib/rpc/xdr_array.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/rpc/ChangeLog b/src/lib/rpc/ChangeLog index b4bf70630..0998bed13 100644 --- a/src/lib/rpc/ChangeLog +++ b/src/lib/rpc/ChangeLog @@ -1,3 +1,8 @@ +2002-08-02 Tom Yu <tlyu@mit.edu> + + * xdr_array.c (xdr_array): Account for elsize when checking + encoded array count. + 2002-07-17 Ken Raeburn <raeburn@mit.edu> * dyn.c: New file, combining contents of old util/dyn library, diff --git a/src/lib/rpc/xdr_array.c b/src/lib/rpc/xdr_array.c index 97c6dc73d..278536873 100644 --- a/src/lib/rpc/xdr_array.c +++ b/src/lib/rpc/xdr_array.c @@ -75,7 +75,8 @@ xdr_array(xdrs, addrp, sizep, maxsize, elsize, elproc) return (FALSE); } c = *sizep; - if ((c > maxsize) && (xdrs->x_op != XDR_FREE)) { + if ((c > maxsize || c > LASTUNSIGNED / elsize) + && (xdrs->x_op != XDR_FREE)) { return (FALSE); } nodesize = c * elsize; |
