X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/b5d3f182cd565ae0a4e523957664a11055cad3d4..aa80a007248f9a086c0be2ae2181da1e5a545ca5:/ppp.c?ds=inline

diff --git a/ppp.c b/ppp.c
index 0ad3044..d48c044 100644
--- a/ppp.c
+++ b/ppp.c
@@ -1,6 +1,6 @@
 // L2TPNS PPP Stuff
 
-char const *cvs_id_ppp = "$Id: ppp.c,v 1.43 2005-01-25 04:38:49 bodea Exp $";
+char const *cvs_id_ppp = "$Id: ppp.c,v 1.45 2005-03-10 03:31:25 bodea Exp $";
 
 #include <stdio.h>
 #include <string.h>
@@ -28,8 +28,8 @@ static void initccp(tunnelidt t, sessionidt s);
 // Process PAP messages
 void processpap(tunnelidt t, sessionidt s, uint8_t *p, uint16_t l)
 {
-	char user[129];
-	char pass[129];
+	char user[MAXUSER];
+	char pass[MAXPASS];
 	uint16_t hl;
 
 	CSTAT(processpap);
@@ -60,13 +60,18 @@ void processpap(tunnelidt t, sessionidt s, uint8_t *p, uint16_t l)
 	{
 		uint8_t *b = p;
 		b += 4;
+		user[0] = pass[0] = 0;
 		if (*b && *b < sizeof(user))
+		{
 			memcpy(user, b + 1, *b);
-		user[*b] = 0;
-		b += 1 + *b;
-		if (*b && *b < sizeof(pass))
-			memcpy(pass, b + 1, *b);
-		pass[*b] = 0;
+			user[*b] = 0;
+			b += 1 + *b;
+			if (*b && *b < sizeof(pass))
+			{
+				memcpy(pass, b + 1, *b);
+				pass[*b] = 0;
+			}
+		}
 		LOG(3, s, t, "PAP login %s/%s\n", user, pass);
 	}
 	if (session[s].ip || !session[s].radius)