summaryrefslogtreecommitdiffstats
path: root/sys/kern/uipc_socket2.c
diff options
context:
space:
mode:
authordhartmei <dhartmei@openbsd.org>2002-08-26 16:39:25 +0000
committerdhartmei <dhartmei@openbsd.org>2002-08-26 16:39:25 +0000
commitc8da5bc8d59e330060b9a3632c72345e4a35d2b5 (patch)
treeef781250225b79bc1dcae4ff9adac4e2aa51e9e0 /sys/kern/uipc_socket2.c
parentspace cleanup; some from grendel@zeitbombe.org (diff)
downloadwireguard-openbsd-c8da5bc8d59e330060b9a3632c72345e4a35d2b5.tar.xz
wireguard-openbsd-c8da5bc8d59e330060b9a3632c72345e4a35d2b5.zip
Update sb_lastrecord in sbcompress() when the mbuf pointed to is removed.
Bug report from Alistair Kerr, tested miod@, inspected art@, ok provos@
Diffstat (limited to 'sys/kern/uipc_socket2.c')
-rw-r--r--sys/kern/uipc_socket2.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/uipc_socket2.c b/sys/kern/uipc_socket2.c
index 3e14d142e6a..6596a535152 100644
--- a/sys/kern/uipc_socket2.c
+++ b/sys/kern/uipc_socket2.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uipc_socket2.c,v 1.30 2002/08/08 19:18:12 provos Exp $ */
+/* $OpenBSD: uipc_socket2.c,v 1.31 2002/08/26 16:39:25 dhartmei Exp $ */
/* $NetBSD: uipc_socket2.c,v 1.11 1996/02/04 02:17:55 christos Exp $ */
/*
@@ -758,6 +758,8 @@ sbcompress(struct sockbuf *sb, struct mbuf *m, struct mbuf *n)
(eor == 0 ||
(((o = m->m_next) || (o = n)) &&
o->m_type == m->m_type))) {
+ if (sb->sb_lastrecord == m)
+ sb->sb_lastrecord = m->m_next;
m = m_free(m);
continue;
}