X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=net%2Fsunrpc%2Fxdr.c;h=995c3fdc16c27821d2e97887a6bdba002a086321;hb=0dc47877a3de00ceadea0005189656ae8dc52669;hp=54264062ea695d59f85da1d712f53cd0ff45952a;hpb=a6eaf8bdf9308b51ec84e358915fc65400029519;p=linux-2.6-omap-h63xx.git diff --git a/net/sunrpc/xdr.c b/net/sunrpc/xdr.c index 54264062ea6..995c3fdc16c 100644 --- a/net/sunrpc/xdr.c +++ b/net/sunrpc/xdr.c @@ -96,11 +96,13 @@ xdr_encode_string(__be32 *p, const char *string) EXPORT_SYMBOL(xdr_encode_string); __be32 * -xdr_decode_string_inplace(__be32 *p, char **sp, int *lenp, int maxlen) +xdr_decode_string_inplace(__be32 *p, char **sp, + unsigned int *lenp, unsigned int maxlen) { - unsigned int len; + u32 len; - if ((len = ntohl(*p++)) > maxlen) + len = ntohl(*p++); + if (len > maxlen) return NULL; *lenp = len; *sp = (char *) p;