24 lines
713 B
Diff
24 lines
713 B
Diff
Index: usr.sbin/rpcbind/rpcb_svc_com.c
|
|
===================================================================
|
|
--- usr.sbin/rpcbind/rpcb_svc_com.c (revision 288434)
|
|
+++ usr.sbin/rpcbind/rpcb_svc_com.c (working copy)
|
|
@@ -1052,12 +1052,15 @@ static bool_t
|
|
netbuf_copybuf(struct netbuf *dst, const struct netbuf *src)
|
|
{
|
|
|
|
- assert(dst->buf == NULL);
|
|
+ if (dst->len != src->len || dst->buf == NULL) {
|
|
+ if (dst->buf != NULL)
|
|
+ free(dst->buf);
|
|
+ if ((dst->buf = malloc(src->len)) == NULL)
|
|
+ return (FALSE);
|
|
|
|
- if ((dst->buf = malloc(src->len)) == NULL)
|
|
- return (FALSE);
|
|
+ dst->maxlen = dst->len = src->len;
|
|
+ }
|
|
|
|
- dst->maxlen = dst->len = src->len;
|
|
memcpy(dst->buf, src->buf, src->len);
|
|
return (TRUE);
|
|
}
|