From: Konstantin Sharlaimov Date: Thu, 30 Aug 2007 04:17:37 +0000 (+0200) Subject: [PPP]: Fix output buffer size in ppp_decompress_frame(). X-Git-Tag: v2.6.16.54-rc1~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=725ad2a8f1358bff885414f5e91d253c99921ddc;p=thirdparty%2Fkernel%2Fstable.git [PPP]: Fix output buffer size in ppp_decompress_frame(). This patch addresses the issue with "osize too small" errors in mppe encryption. The patch fixes the issue with wrong output buffer size being passed to ppp decompression routine. -------------------- As pointed out by Suresh Mahalingam, the issue addressed by ppp-fix-osize-too-small-errors-when-decoding patch is not fully resolved yet. The size of allocated output buffer is correct, however it size passed to ppp->rcomp->decompress in ppp_generic.c if wrong. The patch fixes that. -------------------- Signed-off-by: Konstantin Sharlaimov Signed-off-by: David S. Miller Signed-off-by: Adrian Bunk --- diff --git a/drivers/net/ppp_generic.c b/drivers/net/ppp_generic.c index 802f249b87c81..80ff42d3e1c97 100644 --- a/drivers/net/ppp_generic.c +++ b/drivers/net/ppp_generic.c @@ -1739,7 +1739,7 @@ ppp_decompress_frame(struct ppp *ppp, struct sk_buff *skb) } /* the decompressor still expects the A/C bytes in the hdr */ len = ppp->rcomp->decompress(ppp->rc_state, skb->data - 2, - skb->len + 2, ns->data, ppp->mru + PPP_HDRLEN); + skb->len + 2, ns->data, obuff_size); if (len < 0) { /* Pass the compressed frame to pppd as an error indication. */