Index: ossp-pkg/l2/l2_ch_buffer.c RCS File: /v/ossp/cvs/ossp-pkg/l2/l2_ch_buffer.c,v rcsdiff -q -kk '-r1.5' '-r1.6' -u '/v/ossp/cvs/ossp-pkg/l2/l2_ch_buffer.c,v' 2>/dev/null --- l2_ch_buffer.c 2001/08/15 10:36:03 1.5 +++ l2_ch_buffer.c 2001/08/22 18:12:16 1.6 @@ -92,12 +92,8 @@ if ((cfg = (l2_ch_buffer_t *)ctx->vp) == NULL) return L2_ERROR; - if (bufsize > (cfg->bufsize - cfg->bufpos)) { - if (downstream != NULL) - if (l2_channel_write(downstream, cfg->buf, cfg->bufpos) == L2_ERROR) - return L2_ERROR; - cfg->bufpos = 0; - } + if (bufsize > (cfg->bufsize - cfg->bufpos)) + return L2_ERROR; /* The buffer is too small */ memcpy(cfg->buf+cfg->bufpos, buf, bufsize); cfg->bufpos += bufsize; @@ -117,6 +113,7 @@ if (l2_channel_write(downstream, cfg->buf, cfg->bufpos) == L2_ERROR) return L2_ERROR; cfg->bufpos = 0; + bzero(cfg->buf, cfg->bufsize); /* Guard against improper usage */ } if (downstream != NULL)