diff options
author | 2002-08-26 16:39:25 +0000 | |
---|---|---|
committer | 2002-08-26 16:39:25 +0000 | |
commit | c8da5bc8d59e330060b9a3632c72345e4a35d2b5 (patch) | |
tree | ef781250225b79bc1dcae4ff9adac4e2aa51e9e0 /sys/kern/uipc_socket2.c | |
parent | space cleanup; some from grendel@zeitbombe.org (diff) | |
download | wireguard-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.c | 4 |
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; } |