diff options
author | Xin LI <delphij@FreeBSD.org> | 2015-10-02 16:37:06 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2015-10-02 16:37:06 +0000 |
commit | bfa374472b2214208594c52036837d3d3d93f0fb (patch) | |
tree | 7162ce33bc25898e18405a8a8ec663f2820c42e4 | |
parent | 2757faf97179806db8cd93efd546fabd73ed4cd1 (diff) | |
download | src-bfa374472b2214208594c52036837d3d3d93f0fb.tar.gz src-bfa374472b2214208594c52036837d3d3d93f0fb.zip |
Fix a regression with SA-15:24 patch that prevented NIS from
working.
Approved by: so
Notes
Notes:
svn path=/releng/10.2/; revision=288512
-rw-r--r-- | UPDATING | 3 | ||||
-rw-r--r-- | sys/conf/newvers.sh | 2 | ||||
-rw-r--r-- | usr.sbin/rpcbind/rpcb_svc_com.c | 11 |
3 files changed, 11 insertions, 5 deletions
@@ -16,6 +16,9 @@ from older versions of FreeBSD, try WITHOUT_CLANG to bootstrap to the tip of stable/10, and then rebuild without this option. The bootstrap process from older version of current is a bit fragile. +20151002: p5 FreeBSD-SA-15:24.rpcbind [revised] + Revised patch to address a regression that prevents NIS from working. + 20150929: p4 FreeBSD-SA-15:24.rpcbind Fix rpcbind(8) remote denial of service. [SA-15:24] diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index a026b66f1ff1..a3c037e54008 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -32,7 +32,7 @@ TYPE="FreeBSD" REVISION="10.2" -BRANCH="RELEASE-p4" +BRANCH="RELEASE-p5" if [ "X${BRANCH_OVERRIDE}" != "X" ]; then BRANCH=${BRANCH_OVERRIDE} fi diff --git a/usr.sbin/rpcbind/rpcb_svc_com.c b/usr.sbin/rpcbind/rpcb_svc_com.c index a72527343aa3..72fea28412b8 100644 --- a/usr.sbin/rpcbind/rpcb_svc_com.c +++ b/usr.sbin/rpcbind/rpcb_svc_com.c @@ -1053,12 +1053,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); } |