mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 10:47:28 +02:00
This commit is contained in:
69
src/ssl.c
69
src/ssl.c
@ -43509,46 +43509,41 @@ err:
|
|||||||
if (!header) {
|
if (!header) {
|
||||||
header = XSTRNSTR(pem, "-----BEGIN ", (unsigned int)i);
|
header = XSTRNSTR(pem, "-----BEGIN ", (unsigned int)i);
|
||||||
}
|
}
|
||||||
else {
|
else if (!headerEnd) {
|
||||||
if (!headerEnd) {
|
headerEnd = XSTRNSTR(header + XSTR_SIZEOF("-----BEGIN "),
|
||||||
headerEnd = XSTRNSTR(header + XSTR_SIZEOF("-----BEGIN "),
|
"-----",
|
||||||
"-----",
|
(unsigned int)
|
||||||
(unsigned int)
|
(i - (header + XSTR_SIZEOF("-----BEGIN ") - pem)));
|
||||||
(i - (header + XSTR_SIZEOF("-----BEGIN ") - pem)));
|
if (headerEnd) {
|
||||||
if (headerEnd) {
|
headerEnd += XSTR_SIZEOF("-----");
|
||||||
headerEnd += XSTR_SIZEOF("-----");
|
/* Read in the newline */
|
||||||
/* Read in the newline */
|
(void)wolfSSL_BIO_read(bio, &pem[i], 1);
|
||||||
(void)wolfSSL_BIO_read(bio, &pem[i], 1);
|
i++;
|
||||||
i++;
|
if (*headerEnd != '\n' && *headerEnd != '\r') {
|
||||||
if (*headerEnd != '\n' && *headerEnd != '\r') {
|
WOLFSSL_MSG("Missing newline after header");
|
||||||
WOLFSSL_MSG("Missing newline after header");
|
goto err;
|
||||||
goto err;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!footer) {
|
}
|
||||||
footer = XSTRNSTR(headerEnd, "-----END ",
|
else if (!footer) {
|
||||||
(unsigned int)(i - (headerEnd - pem)));
|
footer = XSTRNSTR(headerEnd, "-----END ",
|
||||||
}
|
(unsigned int)(i - (headerEnd - pem)));
|
||||||
else if (!footerEnd) {
|
}
|
||||||
footerEnd = XSTRNSTR(footer + XSTR_SIZEOF("-----"),
|
else if (!footerEnd) {
|
||||||
"-----", (unsigned int)(i -
|
footerEnd = XSTRNSTR(footer + XSTR_SIZEOF("-----"),
|
||||||
(footer + XSTR_SIZEOF("-----") - pem)));
|
"-----", (unsigned int)(i -
|
||||||
if (footerEnd) {
|
(footer + XSTR_SIZEOF("-----") - pem)));
|
||||||
footerEnd += XSTR_SIZEOF("-----");
|
if (footerEnd) {
|
||||||
/* Now check that footer matches header */
|
footerEnd += XSTR_SIZEOF("-----");
|
||||||
if (XMEMCMP(header + XSTR_SIZEOF("-----BEGIN "),
|
/* Now check that footer matches header */
|
||||||
footer + XSTR_SIZEOF("-----END "),
|
if (XMEMCMP(header + XSTR_SIZEOF("-----BEGIN "),
|
||||||
headerEnd - (header + XSTR_SIZEOF("-----BEGIN ")))
|
footer + XSTR_SIZEOF("-----END "),
|
||||||
!= 0) {
|
headerEnd - (header + XSTR_SIZEOF("-----BEGIN ")))
|
||||||
WOLFSSL_MSG("Header and footer don't match");
|
!= 0) {
|
||||||
goto err;
|
WOLFSSL_MSG("Header and footer don't match");
|
||||||
}
|
goto err;
|
||||||
/* header and footer match */
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
/* header and footer match */
|
||||||
else {
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user