OSDN Git Service

am be5cce4a: Check if interface is valid in wpa_ctrl_close()
[android-x86/external-wpa_supplicant.git] / radius.c
index 743f340..afa4f93 100644 (file)
--- a/radius.c
+++ b/radius.c
@@ -801,6 +801,7 @@ static u8 * decrypt_ms_key(const u8 *key, size_t len,
        ppos = plain = os_malloc(plen);
        if (plain == NULL)
                return NULL;
+       plain[0] = 0;
 
        while (left > 0) {
                /* b(1) = MD5(Secret + Request-Authenticator + Salt)
@@ -825,7 +826,7 @@ static u8 * decrypt_ms_key(const u8 *key, size_t len,
                left -= MD5_MAC_LEN;
        }
 
-       if (plain[0] > plen - 1) {
+       if (plain[0] == 0 || plain[0] > plen - 1) {
                printf("Failed to decrypt MPPE key\n");
                os_free(plain);
                return NULL;