diff options
-rw-r--r-- | net/sunrpc/rpcb_clnt.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/sunrpc/rpcb_clnt.c b/net/sunrpc/rpcb_clnt.c index a70acae496e4..411f332de0b3 100644 --- a/net/sunrpc/rpcb_clnt.c +++ b/net/sunrpc/rpcb_clnt.c | |||
@@ -884,7 +884,10 @@ static void encode_rpcb_string(struct xdr_stream *xdr, const char *string, | |||
884 | u32 len; | 884 | u32 len; |
885 | 885 | ||
886 | len = strlen(string); | 886 | len = strlen(string); |
887 | BUG_ON(len > maxstrlen); | 887 | WARN_ON_ONCE(len > maxstrlen); |
888 | if (len > maxstrlen) | ||
889 | /* truncate and hope for the best */ | ||
890 | len = maxstrlen; | ||
888 | p = xdr_reserve_space(xdr, 4 + len); | 891 | p = xdr_reserve_space(xdr, 4 + len); |
889 | xdr_encode_opaque(p, string, len); | 892 | xdr_encode_opaque(p, string, len); |
890 | } | 893 | } |