RT4320/GH705: Fix PEM parsing bug.
Also removing confusing pointer-alias variable. Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
		@@ -489,7 +489,6 @@ int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    const EVP_CIPHER *enc = NULL;
 | 
					    const EVP_CIPHER *enc = NULL;
 | 
				
			||||||
    char *dekinfostart, c;
 | 
					    char *dekinfostart, c;
 | 
				
			||||||
    char **header_pp = &header;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cipher->cipher = NULL;
 | 
					    cipher->cipher = NULL;
 | 
				
			||||||
    if ((header == NULL) || (*header == '\0') || (*header == '\n'))
 | 
					    if ((header == NULL) || (*header == '\0') || (*header == '\n'))
 | 
				
			||||||
@@ -536,13 +535,13 @@ int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    *header = '\0';
 | 
					    *header = '\0';
 | 
				
			||||||
    cipher->cipher = enc = EVP_get_cipherbyname(dekinfostart);
 | 
					    cipher->cipher = enc = EVP_get_cipherbyname(dekinfostart);
 | 
				
			||||||
    *header = c;
 | 
					    *header++ = c;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (enc == NULL) {
 | 
					    if (enc == NULL) {
 | 
				
			||||||
        PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO, PEM_R_UNSUPPORTED_ENCRYPTION);
 | 
					        PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO, PEM_R_UNSUPPORTED_ENCRYPTION);
 | 
				
			||||||
        return (0);
 | 
					        return (0);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (!load_iv(header_pp, &(cipher->iv[0]), EVP_CIPHER_iv_length(enc)))
 | 
					    if (!load_iv(&header, cipher->iv, EVP_CIPHER_iv_length(enc)))
 | 
				
			||||||
        return (0);
 | 
					        return (0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return (1);
 | 
					    return (1);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user