summaryrefslogtreecommitdiff
path: root/accel-pppd/ppp/ppp.c
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pppd/ppp/ppp.c')
-rw-r--r--accel-pppd/ppp/ppp.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/accel-pppd/ppp/ppp.c b/accel-pppd/ppp/ppp.c
index 7113673e..9772b846 100644
--- a/accel-pppd/ppp/ppp.c
+++ b/accel-pppd/ppp/ppp.c
@@ -166,7 +166,7 @@ int __export establish_ppp(struct ppp_t *ppp)
log_ppp_debug("ppp established\n");
if (ap_session_starting(&ppp->ses))
- goto exit_close_unit;
+ goto exit_free_buf;
triton_md_register_handler(ppp->ses.ctrl->ctx, &ppp->chan_hnd);
triton_md_register_handler(ppp->ses.ctrl->ctx, &ppp->unit_hnd);
@@ -178,14 +178,14 @@ int __export establish_ppp(struct ppp_t *ppp)
return 0;
+exit_free_buf:
+ mempool_free(ppp->buf);
+ ppp->buf = NULL;
exit_close_unit:
close(ppp->unit_fd);
exit_close_chan:
close(ppp->chan_fd);
- if (ppp->buf)
- mempool_free(ppp->buf);
-
return -1;
}