summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>2000-06-20 09:13:25 +0000
committerbrian <brian@FreeBSD.org>2000-06-20 09:13:25 +0000
commitbe62e8bf23fef4532e2a5ea4dc041841a0c59e6b (patch)
treebd00f32b477f4ed5fbd96ef5b2c3f697838b1af1 /usr.sbin/ppp
parent9fb7b9e4e4f33b4efe84eec0bd3237753418a839 (diff)
downloadFreeBSD-src-be62e8bf23fef4532e2a5ea4dc041841a0c59e6b.zip
FreeBSD-src-be62e8bf23fef4532e2a5ea4dc041841a0c59e6b.tar.gz
Allow padding in LQR ECHO requests
Problem found by: Tomaz Borstnar <tomaz.borstnar@over.net>
Diffstat (limited to 'usr.sbin/ppp')
-rw-r--r--usr.sbin/ppp/lqr.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.sbin/ppp/lqr.c b/usr.sbin/ppp/lqr.c
index 3e9f0f6..dad0e46 100644
--- a/usr.sbin/ppp/lqr.c
+++ b/usr.sbin/ppp/lqr.c
@@ -85,8 +85,9 @@ lqr_RecvEcho(struct fsm *fp, struct mbuf *bp)
struct lcp *lcp = fsm2lcp(fp);
struct echolqr lqr;
- if (m_length(bp) == sizeof lqr) {
- bp = mbuf_Read(bp, &lqr, sizeof lqr);
+ if (m_length(bp) >= sizeof lqr) {
+ m_freem(mbuf_Read(bp, &lqr, sizeof lqr));
+ bp = NULL;
lqr.magic = ntohl(lqr.magic);
lqr.signature = ntohl(lqr.signature);
lqr.sequence = ntohl(lqr.sequence);
OpenPOWER on IntegriCloud