git: 231e0dd5d1fb - main - tcp: skip sackhole checks on NULL
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 07 Jun 2022 18:46:48 UTC
The branch main has been updated by rscheff:
URL: https://cgit.FreeBSD.org/src/commit/?id=231e0dd5d1fb7778b1cb285e5ebee5502d5ad253
commit 231e0dd5d1fb7778b1cb285e5ebee5502d5ad253
Author: Richard Scheffenegger <rscheff@FreeBSD.org>
AuthorDate: 2022-06-07 16:16:54 +0000
Commit: Richard Scheffenegger <rscheff@FreeBSD.org>
CommitDate: 2022-06-07 16:18:42 +0000
tcp: skip sackhole checks on NULL
Inadvertedly introduced NULL pointer dereference during
sackhole sanity check in D35387.
Reviewed By: glebius
PR: 263445
MFC after: 1 week
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D35423
---
sys/netinet/tcp_sack.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/sys/netinet/tcp_sack.c b/sys/netinet/tcp_sack.c
index c1bbf65a0770..273d56c510e2 100644
--- a/sys/netinet/tcp_sack.c
+++ b/sys/netinet/tcp_sack.c
@@ -956,7 +956,9 @@ tcp_sack_output(struct tcpcb *tp, int *sack_bytes_rexmt)
INP_WLOCK_ASSERT(tp->t_inpcb);
*sack_bytes_rexmt = tp->sackhint.sack_bytes_rexmit;
hole = tp->sackhint.nexthole;
- if (hole == NULL || SEQ_LT(hole->rxmit, hole->end))
+ if (hole == NULL)
+ return (hole);
+ if (SEQ_LT(hole->rxmit, hole->end))
goto out;
while ((hole = TAILQ_NEXT(hole, scblink)) != NULL) {
if (SEQ_LT(hole->rxmit, hole->end)) {