crypto/pem/pem_lib.c:538: error: UNINITIALIZED_VALUE
  The value read from c was never initialized.
Showing all 1 steps of the trace


crypto/pem/pem_lib.c:538:5: 
536.       *header = '\0';
537.       cipher->cipher = enc = EVP_get_cipherbyname(dekinfostart);
538. >     *header++ = c;
539.   
540.       if (enc == NULL) {

int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher)
{
    const EVP_CIPHER *enc = NULL;
    char *dekinfostart, c;
    cipher->cipher = NULL;
    if ((header == NULL) || (*header == '\0') || (*header == '\n'))
        return (1);
    if (strncmp(header, "Proc-Type: ", 11) != 0) {
        PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO, PEM_R_NOT_PROC_TYPE);
        return (0);
    }
    header += 11;
    if (*header != '4')
        return (0);
    header++;
    if (*header != ',')
        return (0);
    header++;
    if (strncmp(header, "ENCRYPTED", 9) != 0) {
        PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO, PEM_R_NOT_ENCRYPTED);
        return (0);
    }
    for (; (*header != '\n') && (*header != '\0'); header++) ;
    if (*header == '\0') {
        PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO, PEM_R_SHORT_HEADER);
        return (0);
    }
    header++;
    if (strncmp(header, "DEK-Info: ", 10) != 0) {
        PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO, PEM_R_NOT_DEK_INFO);
        return (0);
    }
    header += 10;
    dekinfostart = header;
    for (;;) {
        c = *header;
#ifndef CHARSET_EBCDIC
        if (!(((c >= 'A') && (c <= 'Z')) || (c == '-') ||
              ((c >= '0') && (c <= '9'))))
            break;
#else
        if (!(isupper(c) || (c == '-') || isdigit(c)))
            break;
#endif
        header++;
    }
    *header = '\0';
    cipher->cipher = enc = EVP_get_cipherbyname(dekinfostart);
    *header++ = c;
    if (enc == NULL) {
        PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO, PEM_R_UNSUPPORTED_ENCRYPTION);
        return (0);
    }
    if (!load_iv(&header, cipher->iv, EVP_CIPHER_iv_length(enc)))
        return (0);
    return (1);
}
['int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher)\n{\n    const EVP_CIPHER *enc = NULL;\n    char *dekinfostart, c;\n    cipher->cipher = NULL;\n    if ((header == NULL) || (*header == \'\\0\') || (*header == \'\\n\'))\n        return (1);\n    if (strncmp(header, "Proc-Type: ", 11) != 0) {\n        PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO, PEM_R_NOT_PROC_TYPE);\n        return (0);\n    }\n    header += 11;\n    if (*header != \'4\')\n        return (0);\n    header++;\n    if (*header != \',\')\n        return (0);\n    header++;\n    if (strncmp(header, "ENCRYPTED", 9) != 0) {\n        PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO, PEM_R_NOT_ENCRYPTED);\n        return (0);\n    }\n    for (; (*header != \'\\n\') && (*header != \'\\0\'); header++) ;\n    if (*header == \'\\0\') {\n        PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO, PEM_R_SHORT_HEADER);\n        return (0);\n    }\n    header++;\n    if (strncmp(header, "DEK-Info: ", 10) != 0) {\n        PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO, PEM_R_NOT_DEK_INFO);\n        return (0);\n    }\n    header += 10;\n    dekinfostart = header;\n    for (;;) {\n        c = *header;\n#ifndef CHARSET_EBCDIC\n        if (!(((c >= \'A\') && (c <= \'Z\')) || (c == \'-\') ||\n              ((c >= \'0\') && (c <= \'9\'))))\n            break;\n#else\n        if (!(isupper(c) || (c == \'-\') || isdigit(c)))\n            break;\n#endif\n        header++;\n    }\n    *header = \'\\0\';\n    cipher->cipher = enc = EVP_get_cipherbyname(dekinfostart);\n    *header++ = c;\n    if (enc == NULL) {\n        PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO, PEM_R_UNSUPPORTED_ENCRYPTION);\n        return (0);\n    }\n    if (!load_iv(&header, cipher->iv, EVP_CIPHER_iv_length(enc)))\n        return (0);\n    return (1);\n}']