summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2015-10-02 16:37:06 +0000
committerdelphij <delphij@FreeBSD.org>2015-10-02 16:37:06 +0000
commita5a01b895b5c5a5a2f92fb611161c7c0f840a76a (patch)
treeda0e2a32caea87f9063a9435ed9c1ccd824891b1
parent93d0d5de2d3005d15fe4ae2e9b84fabe58b43133 (diff)
downloadFreeBSD-src-a5a01b895b5c5a5a2f92fb611161c7c0f840a76a.zip
FreeBSD-src-a5a01b895b5c5a5a2f92fb611161c7c0f840a76a.tar.gz
Fix a regression with SA-15:24 patch that prevented NIS from
working. Approved by: so
-rw-r--r--UPDATING3
-rw-r--r--sys/conf/newvers.sh2
-rw-r--r--usr.sbin/rpcbind/rpcb_svc_com.c11
3 files changed, 11 insertions, 5 deletions
diff --git a/UPDATING b/UPDATING
index 6e3dd4f..899867d 100644
--- a/UPDATING
+++ b/UPDATING
@@ -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: p22 FreeBSD-SA-15:24.rpcbind [revised]
+ Revised patch to address a regression that prevents NIS from working.
+
20150929: p21 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 b12b344..f871db2 100644
--- a/sys/conf/newvers.sh
+++ b/sys/conf/newvers.sh
@@ -32,7 +32,7 @@
TYPE="FreeBSD"
REVISION="10.1"
-BRANCH="RELEASE-p21"
+BRANCH="RELEASE-p22"
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 a725273..72fea28 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);
}
OpenPOWER on IntegriCloud