diff options
author | daurnimator <quae@daurnimator.com> | 2018-05-29 16:24:45 +1000 |
---|---|---|
committer | daurnimator <quae@daurnimator.com> | 2018-05-29 16:24:45 +1000 |
commit | 5e42a7bb99188bc6a54b7f0de8c2eb55845c5b13 (patch) | |
tree | 91aaa703101ac949c7ce91e5b2c0c41690184ae6 /src | |
parent | bf7138e1e587670e63aa1023f3a81694031b55f8 (diff) | |
download | luaossl-5e42a7bb99188bc6a54b7f0de8c2eb55845c5b13.tar.gz luaossl-5e42a7bb99188bc6a54b7f0de8c2eb55845c5b13.tar.bz2 luaossl-5e42a7bb99188bc6a54b7f0de8c2eb55845c5b13.zip |
src/openssl.c: Only throw if X509_STORE_load_locations set an error
Diffstat (limited to 'src')
-rw-r--r-- | src/openssl.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/openssl.c b/src/openssl.c index 2601077..973a659 100644 --- a/src/openssl.c +++ b/src/openssl.c @@ -7870,8 +7870,13 @@ static int xs_add(lua_State *L) { if (S_ISDIR(st.st_mode)) ok = X509_STORE_load_locations(store, NULL, path); - else + else { + /* X509_STORE_load_locations on a file returns 0 if no certs were found */ + ERR_clear_error(); ok = X509_STORE_load_locations(store, path, NULL); + if (ok == 0 && !ERR_peek_error()) + ok = 1; + } if (!ok) return auxL_error(L, auxL_EOPENSSL, "x509.store:add"); |