Accept newline and null teminator at end of X509 certificate

This commit is contained in:
Juliusz Sosinowicz
2020-01-02 10:52:02 +01:00
parent 1bf6eb466f
commit 443b7ed0c4

View File

@@ -35453,7 +35453,8 @@ err:
#define PEM_END_SZ 9
#define PEM_HDR_FIN "-----"
#define PEM_HDR_FIN_SZ 5
#define PEM_HDR_FIN_EOL "-----\n"
#define PEM_HDR_FIN_EOL_NEWLINE "-----\n"
#define PEM_HDR_FIN_EOL_NULL_TERM "-----\0"
#define PEM_HDR_FIN_EOL_SZ 6
int wolfSSL_PEM_read_bio(WOLFSSL_BIO* bio, char **name, char **header,
@@ -35589,8 +35590,12 @@ err:
ret = WOLFSSL_FAILURE;
}
if (ret == WOLFSSL_SUCCESS) {
if (XSTRNCMP(pem + PEM_END_SZ + nameLen, PEM_HDR_FIN_EOL,
PEM_HDR_FIN_EOL_SZ) != 0) {
if (XSTRNCMP(pem + PEM_END_SZ + nameLen,
PEM_HDR_FIN_EOL_NEWLINE,
PEM_HDR_FIN_EOL_SZ) != 0 &&
XSTRNCMP(pem + PEM_END_SZ + nameLen,
PEM_HDR_FIN_EOL_NULL_TERM,
PEM_HDR_FIN_EOL_SZ) != 0) {
ret = WOLFSSL_FAILURE;
}
}
@@ -35654,8 +35659,8 @@ err:
if (!err)
err = wolfSSL_BIO_write(bio, name, nameLen) != nameLen;
if (!err) {
err = wolfSSL_BIO_write(bio, PEM_HDR_FIN_EOL, PEM_HDR_FIN_EOL_SZ) !=
(int)PEM_HDR_FIN_EOL_SZ;
err = wolfSSL_BIO_write(bio, PEM_HDR_FIN_EOL_NEWLINE,
PEM_HDR_FIN_EOL_SZ) != (int)PEM_HDR_FIN_EOL_SZ;
}
if (!err && headerLen > 0) {
err = wolfSSL_BIO_write(bio, header, headerLen) != headerLen;
@@ -35672,8 +35677,8 @@ err:
if (!err)
err = wolfSSL_BIO_write(bio, name, nameLen) != nameLen;
if (!err) {
err = wolfSSL_BIO_write(bio, PEM_HDR_FIN_EOL, PEM_HDR_FIN_EOL_SZ) !=
(int)PEM_HDR_FIN_EOL_SZ;
err = wolfSSL_BIO_write(bio, PEM_HDR_FIN_EOL_NEWLINE,
PEM_HDR_FIN_EOL_SZ) != (int)PEM_HDR_FIN_EOL_SZ;
}
if (!err) {