From f9d7a5755e9df40409864667811a4497bbd75b63 Mon Sep 17 00:00:00 2001 From: Kozlov Dmitry Date: Fri, 2 Nov 2012 16:46:52 +0400 Subject: cli: fix double buffer free --- accel-pppd/cli/tcp.c | 4 +++- accel-pppd/cli/telnet.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/accel-pppd/cli/tcp.c b/accel-pppd/cli/tcp.c index 9ea914c9..b2ed9105 100644 --- a/accel-pppd/cli/tcp.c +++ b/accel-pppd/cli/tcp.c @@ -208,8 +208,10 @@ static int cln_write(struct triton_md_handler_t *h) _free(cln->xmit_buf); cln->xmit_pos = 0; - if (list_empty(&cln->xmit_queue)) + if (list_empty(&cln->xmit_queue)) { + cln->xmit_buf = NULL; break; + } cln->xmit_buf = list_entry(cln->xmit_queue.next, typeof(*cln->xmit_buf), entry); list_del(&cln->xmit_buf->entry); diff --git a/accel-pppd/cli/telnet.c b/accel-pppd/cli/telnet.c index 314ac9e9..7409767c 100644 --- a/accel-pppd/cli/telnet.c +++ b/accel-pppd/cli/telnet.c @@ -518,8 +518,10 @@ static int cln_write(struct triton_md_handler_t *h) _free(cln->xmit_buf); cln->xmit_pos = 0; - if (list_empty(&cln->xmit_queue)) + if (list_empty(&cln->xmit_queue)) { + cln->xmit_buf = NULL; break; + } cln->xmit_buf = list_entry(cln->xmit_queue.next, typeof(*cln->xmit_buf), entry); list_del(&cln->xmit_buf->entry); -- cgit v1.2.3