]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/ipv6cp.c
Fixed the old chap.c so that it works with the new auth.c, since
[ppp.git] / pppd / ipv6cp.c
index 2d062c52b34b2c18ad6ba11755f8f4804cf323e7..b5e845a35a9d97a441cd77ee2d7f8a88e76dc4e9 100644 (file)
  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * $Id: ipv6cp.c,v 1.17 2002/12/04 23:03:32 paulus Exp $ 
+ * $Id: ipv6cp.c,v 1.18 2003/07/28 12:25:41 carlsonj Exp $ 
  */
 
  */
 
-#define RCSID  "$Id: ipv6cp.c,v 1.17 2002/12/04 23:03:32 paulus Exp $"
+#define RCSID  "$Id: ipv6cp.c,v 1.18 2003/07/28 12:25:41 carlsonj Exp $"
 
 /*
  * TODO: 
 
 /*
  * TODO: 
@@ -752,10 +752,10 @@ ipv6cp_nakci(f, p, len)
      * If they want to negotiate about interface identifier, we comply.
      * If they want us to ask for compression, we refuse.
      */
      * If they want to negotiate about interface identifier, we comply.
      * If they want us to ask for compression, we refuse.
      */
-    while (len > CILEN_VOID) {
+    while (len >= CILEN_VOID) {
        GETCHAR(citype, p);
        GETCHAR(cilen, p);
        GETCHAR(citype, p);
        GETCHAR(cilen, p);
-       if( (len -= cilen) < 0 )
+       if ( cilen < CILEN_VOID || (len -= cilen) < 0 )
            goto bad;
        next = p + cilen - 2;
 
            goto bad;
        next = p + cilen - 2;