diff options
author | Poul-Henning Kamp <phk@FreeBSD.org> | 2002-01-22 11:22:55 +0000 |
---|---|---|
committer | Poul-Henning Kamp <phk@FreeBSD.org> | 2002-01-22 11:22:55 +0000 |
commit | 1a25c86b3b39d49f455d8306484f7cc84ddc9b9c (patch) | |
tree | 08dced56e850793fea949b56ae5172c83fa8f1b1 /sys | |
parent | 7109d65231e6fce4320f41a3302447d1395b871d (diff) | |
download | src-1a25c86b3b39d49f455d8306484f7cc84ddc9b9c.tar.gz src-1a25c86b3b39d49f455d8306484f7cc84ddc9b9c.zip |
In certain cases sbuf_printf() and sbuf_vprintf() could mistakely
make extendable sbufs as overflowed.
Approved by: des
Notes
Notes:
svn path=/head/; revision=89646
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/subr_sbuf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/subr_sbuf.c b/sys/kern/subr_sbuf.c index 4bf406315805..96d50780e367 100644 --- a/sys/kern/subr_sbuf.c +++ b/sys/kern/subr_sbuf.c @@ -426,7 +426,7 @@ sbuf_vprintf(struct sbuf *s, const char *fmt, va_list ap) * given sufficient space, hence the min() calculation below. */ s->s_len += min(len, SBUF_FREESPACE(s)); - if (!SBUF_HASROOM(s)) + if (!SBUF_HASROOM(s) && !SBUF_CANEXTEND(s)) SBUF_SETFLAG(s, SBUF_OVERFLOWED); KASSERT(s->s_len < s->s_size, |