SUNRPC: remove BUG_ON from encode_rpcb_string

Replace BUG_ON() with WARN_ON_ONCE() and truncate the encoded string if
len > max.

Signed-off-by: Weston Andros Adamson <dros@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
Weston Andros Adamson 2012-10-23 10:43:44 -04:00 committed by Trond Myklebust
parent b8a13d039c
commit 332e008a44
1 changed files with 4 additions and 1 deletions

View File

@ -884,7 +884,10 @@ static void encode_rpcb_string(struct xdr_stream *xdr, const char *string,
u32 len; u32 len;
len = strlen(string); len = strlen(string);
BUG_ON(len > maxstrlen); WARN_ON_ONCE(len > maxstrlen);
if (len > maxstrlen)
/* truncate and hope for the best */
len = maxstrlen;
p = xdr_reserve_space(xdr, 4 + len); p = xdr_reserve_space(xdr, 4 + len);
xdr_encode_opaque(p, string, len); xdr_encode_opaque(p, string, len);
} }