diff options
| author | Kozlov Dmitry <dima@server> | 2010-09-23 19:43:39 +0400 |
|---|---|---|
| committer | Kozlov Dmitry <dima@server> | 2010-09-23 19:43:39 +0400 |
| commit | 8681ad6d60565ca2e399156bf721f67f8a8bdc92 (patch) | |
| tree | e736428b3d5dcfe52f65d9234b8ebc4ba17259cf /accel-pptpd/ppp | |
| parent | 82b0f0953159fc9ab8e387f5e6014dc377b14b38 (diff) | |
| download | accel-ppp-8681ad6d60565ca2e399156bf721f67f8a8bdc92.tar.gz accel-ppp-8681ad6d60565ca2e399156bf721f67f8a8bdc92.zip | |
various bug fixes
Diffstat (limited to 'accel-pptpd/ppp')
| -rw-r--r-- | accel-pptpd/ppp/ppp_fsm.c | 6 | ||||
| -rw-r--r-- | accel-pptpd/ppp/ppp_lcp.c | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/accel-pptpd/ppp/ppp_fsm.c b/accel-pptpd/ppp/ppp_fsm.c index 3b8d854d..8f8e8558 100644 --- a/accel-pptpd/ppp/ppp_fsm.c +++ b/accel-pptpd/ppp/ppp_fsm.c @@ -177,13 +177,13 @@ void ppp_fsm_timeout1(struct ppp_fsm_t *layer) { case FSM_Closing: stop_timer(layer); - if (layer->layer_finished) layer->layer_finished(layer); layer->fsm_state=FSM_Closed; + if (layer->layer_finished) layer->layer_finished(layer); break; case FSM_Stopping: stop_timer(layer); - if (layer->layer_finished) layer->layer_finished(layer); layer->fsm_state=FSM_Stopped; + if (layer->layer_finished) layer->layer_finished(layer); break; case FSM_Ack_Rcvd: case FSM_Req_Sent: @@ -397,8 +397,8 @@ void ppp_fsm_recv_term_ack(struct ppp_fsm_t *layer) switch(layer->fsm_state) { case FSM_Closing: - if (layer->layer_finished) layer->layer_finished(layer); layer->fsm_state=FSM_Closed; + if (layer->layer_finished) layer->layer_finished(layer); break; case FSM_Stopping: if (layer->layer_finished) layer->layer_finished(layer); diff --git a/accel-pptpd/ppp/ppp_lcp.c b/accel-pptpd/ppp/ppp_lcp.c index d28167e2..7081cbb3 100644 --- a/accel-pptpd/ppp/ppp_lcp.c +++ b/accel-pptpd/ppp/ppp_lcp.c @@ -267,6 +267,8 @@ static void send_conf_nak(struct ppp_fsm_t *fsm) lcp_hdr->len=htons((ptr-buf)-2); ppp_chan_send(lcp->ppp,lcp_hdr,ptr-buf); + + _free(buf); } static void send_conf_rej(struct ppp_fsm_t *fsm) @@ -319,6 +321,7 @@ static int lcp_recv_conf_req(struct ppp_lcp_t *lcp,uint8_t *data,int size) hdr=(struct lcp_opt_hdr_t *)data; ropt=_malloc(sizeof(*ropt)); + memset(ropt, 0, sizeof(*ropt)); if (hdr->len>size) ropt->len=size; else ropt->len=hdr->len; ropt->hdr=hdr; |
