|
@@ -884,7 +884,10 @@ static void encode_rpcb_string(struct xdr_stream *xdr, const char *string,
|
|
|
u32 len;
|
|
|
|
|
|
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);
|
|
|
xdr_encode_opaque(p, string, len);
|
|
|
}
|