]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/chap_ms.c
Fixed uninitialized 'pw' variable in HAS_SHADOW logic in session.c due
[ppp.git] / pppd / chap_ms.c
index e3dff968c038de706205bff8fb046778311eb28b..aec12262ed46375d304b12f9b397acb88be21ba4 100644 (file)
@@ -74,7 +74,7 @@
  *
  */
 
-#define RCSID  "$Id: chap_ms.c,v 1.35 2006/05/21 07:23:15 paulus Exp $"
+#define RCSID  "$Id: chap_ms.c,v 1.38 2007/12/01 20:10:51 carlsonj Exp $"
 
 #ifdef CHAPMS
 
@@ -390,7 +390,7 @@ chapms_handle_failure(unsigned char *inp, int len)
         * chapms[2]_verify_response.
         */
        if (!strncmp(p, "E=", 2))
-               err = strtol(p, NULL, 10); /* Remember the error code. */
+               err = strtol(p+2, NULL, 10); /* Remember the error code. */
        else
                goto print_msg; /* Message is badly formatted. */
 
@@ -819,7 +819,8 @@ ChapMS(u_char *rchallenge, char *secret, int secret_len,
     ChapMS_NT(rchallenge, secret, secret_len, &response[MS_CHAP_NTRESP]);
 
 #ifdef MSLANMAN
-    ChapMS_LANMan(rchallenge, secret, secret_len, &response);
+    ChapMS_LANMan(rchallenge, secret, secret_len,
+                 &response[MS_CHAP_LANMANRESP]);
 
     /* preferred method is set by option  */
     response[MS_CHAP_USENT] = !ms_lanman;
@@ -852,7 +853,7 @@ ChapMS2(u_char *rchallenge, u_char *PeerChallenge,
     u_char *p = &response[MS_CHAP2_PEER_CHALLENGE];
     int i;
 
-    BZERO(response, sizeof(*response));
+    BZERO(response, MS_CHAP2_RESPONSE_LEN);
 
     /* Generate the Peer-Challenge if requested, or copy it if supplied. */
     if (!PeerChallenge)