summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/inet/udp/udp.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/usr/src/uts/common/inet/udp/udp.c b/usr/src/uts/common/inet/udp/udp.c
index c4f7be3b93..f141ee0222 100644
--- a/usr/src/uts/common/inet/udp/udp.c
+++ b/usr/src/uts/common/inet/udp/udp.c
@@ -861,9 +861,10 @@ udp_tpi_connect(queue_t *q, mblk_t *mp)
}
/*
- * ok_ack for T_CONN_REQ
+ * Allocate the largest primitive we need to send back
+ * T_error_ack is > than T_ok_ack
*/
- mp = mi_tpi_ok_ack_alloc(mp);
+ mp = reallocb(mp, sizeof (struct T_error_ack), 1);
if (mp == NULL) {
/* Unable to reuse the T_CONN_REQ for the ack. */
freemsg(mp1);
@@ -879,6 +880,8 @@ udp_tpi_connect(queue_t *q, mblk_t *mp)
else
udp_err_ack(q, mp, TSYSERR, error);
} else {
+ mp = mi_tpi_ok_ack_alloc(mp);
+ ASSERT(mp != NULL);
putnext(connp->conn_rq, mp);
putnext(connp->conn_rq, mp1);
}