diff options
Diffstat (limited to 'sys/kern/subr_sbuf.c')
| -rw-r--r-- | sys/kern/subr_sbuf.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/kern/subr_sbuf.c b/sys/kern/subr_sbuf.c index ed04ad57ba92..72e65227d12e 100644 --- a/sys/kern/subr_sbuf.c +++ b/sys/kern/subr_sbuf.c @@ -461,12 +461,15 @@ sbuf_len(struct sbuf *s) void sbuf_delete(struct sbuf *s) { + int isdyn; + assert_sbuf_integrity(s); /* don't care if it's finished or not */ if (SBUF_ISDYNAMIC(s)) SBFREE(s->s_buf); + isdyn = SBUF_ISDYNSTRUCT(s); bzero(s, sizeof *s); - if (SBUF_ISDYNSTRUCT(s)) + if (isdyn) SBFREE(s); } |
